2022-11-20 05:07:22 +00:00
|
|
|
#ifndef COMPILER_IROPTIMIZER_H
|
|
|
|
#define COMPILER_IROPTIMIZER_H
|
|
|
|
|
|
|
|
#include "compiler/common.h"
|
|
|
|
|
2022-12-14 00:16:59 +00:00
|
|
|
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;
|
|
|
|
|
2023-01-10 11:05:21 +00:00
|
|
|
extern Statement *IRO_Optimizer(Object *func, Statement *statements);
|
2022-12-14 00:16:59 +00:00
|
|
|
extern void IRO_Setup(void);
|
|
|
|
extern void IRO_Cleanup(void);
|
|
|
|
extern void CodeGen_UpdateOptimizerOptions(void);
|
2022-11-20 05:07:22 +00:00
|
|
|
|
|
|
|
#endif
|