diff options
Diffstat (limited to 'compiler_and_linker/FrontEnd/Optimizer/IroPropagate.h')
-rw-r--r-- | compiler_and_linker/FrontEnd/Optimizer/IroPropagate.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/compiler_and_linker/FrontEnd/Optimizer/IroPropagate.h b/compiler_and_linker/FrontEnd/Optimizer/IroPropagate.h new file mode 100644 index 0000000..ff9fadb --- /dev/null +++ b/compiler_and_linker/FrontEnd/Optimizer/IroPropagate.h @@ -0,0 +1,35 @@ +#ifndef COMPILER_IROPROPAGATE_H +#define COMPILER_IROPROPAGATE_H + +#include "IrOptimizer.h" +#include "BitVector.h" + +#ifdef __MWERKS__ +#pragma options align=mac68k +#endif +struct IROAssign { + IROLinear *linear; + UInt16 index; + UInt16 varIndex; + IROLinear *linear2; + BitVector *depends; + Object *varObj; + VarRecord *var; + IROAssign *next; + IROAssign *prev; + UInt16 x20; + IRONode *node; +}; +#ifdef __MWERKS__ +#pragma options align=reset +#endif + +extern IROAssign *IRO_FirstAssign; +extern IROAssign *IRO_LastAssign; +extern SInt32 IRO_NumAssign; + +extern int IRO_IsRegable(Object *obj); +extern Boolean IRO_CopyAndConstantPropagation(void); +extern void IRO_ExpressionPropagation(void); + +#endif |