#ifndef COMPILER_IROUSEDEF_H #define COMPILER_IROUSEDEF_H #include "compiler/IrOptimizer.h" #include "compiler/BitVector.h" #include "compiler/enode.h" #ifdef __MWERKS__ #pragma options align=mac68k #endif struct IROUse { SInt32 index; IRONode *node; IROLinear *linear; VarRecord *var; IROUse *globalnext; IROUse *varnext; BitVector *x18; UInt16 x1C; }; struct IRODef { SInt32 index; IRONode *node; IROLinear *linear; VarRecord *var; IRODef *globalnext; IRODef *varnext; UInt16 x18; Boolean x1A; Boolean x1B; Boolean x1C; Boolean x1D; }; #ifdef __MWERKS__ #pragma options align=reset #endif extern ENodeType IRO_NonAssignmentOp[MAXEXPR]; extern IROUse *IRO_FirstVarUse; extern IROUse *IRO_LastVarUse; extern CInt64 IRO_GetSelfAssignmentVal(IROLinear *linear); extern void IRO_InitializeNonAssignmentOpArray(void); extern void IRO_InitializeAssignmentFoldingFunctionArray(void); extern Boolean IRO_UseDef(Boolean optDeadAssignments, Boolean optPropagation); extern void IRO_SplitLifetimes(void); #endif