summaryrefslogtreecommitdiff
path: root/compiler_and_linker/FrontEnd/Optimizer/IrOptimizer.h
blob: 287e279ca7d7b288cc41daca217c41d8c006ff80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef COMPILER_IROPTIMIZER_H
#define COMPILER_IROPTIMIZER_H

#include "compiler/common.h"

typedef struct IROAddrRecord IROAddrRecord;
typedef struct IROAssign IROAssign;
typedef struct IRODef IRODef;
typedef struct IROElmList IROElmList;
typedef struct IROExpr IROExpr;
typedef struct IROLinear IROLinear;
typedef struct IROList IROList;
typedef struct IROListNode IROListNode;
typedef struct IROLoop IROLoop;
typedef struct IRONode IRONode;
typedef struct IROUse IROUse;

extern Boolean DoScalarize;
extern Boolean DoLinearize;
extern Boolean EarlyReturn;
extern Boolean IRO_CPFirstTime;
extern Boolean VectorPhaseCalledFromUnroll;
extern Boolean IRO_Log;

extern Statement *IRO_Optimizer(Object *func, Statement *statements);
extern void IRO_Setup(void);
extern void IRO_Cleanup(void);
extern void CodeGen_UpdateOptimizerOptions(void);

#endif