#ifndef COMPILER_IROCSE_H #define COMPILER_IROCSE_H #include "compiler/IrOptimizer.h" #include "compiler/BitVector.h" #ifdef __MWERKS__ #pragma options align=mac68k #endif struct IROExpr { Boolean x0; UInt16 index; IROLinear *linear; Object *x8; IRONode *node; BitVector *depends; IROExpr *x14; Boolean couldError; Boolean notSubable; IROLinear *x1A; VarRecord *x1E; IROLinear *x22; IROExpr *next; }; #ifdef __MWERKS__ #pragma options align=reset #endif extern BitVector *IRO_Depends; extern Boolean IRO_NotSubable; extern Boolean IRO_IsVolatile; extern Boolean IRO_CouldError; extern IROExpr *IRO_FirstExpr; extern IROExpr *IRO_LastExpr; extern SInt32 IRO_NumExprs; extern void IRO_FindDepends_NoAlloc(IROLinear *linear); extern void IRO_FindDepends(IROLinear *linear); extern void IRO_FindExpressions(BitVector *bv, Boolean flag); extern void IRO_RemoveExpr(IROExpr *expr); extern void IRO_ComputeAvail(void); extern void IRO_CommonSubs(void); extern void IRO_GenerateTopLevelExprsForSubableOperands(void); #endif