MWCC/includes/compiler/InterferenceGraph.h

42 lines
770 B
C
Raw Permalink Normal View History

#ifndef COMPILER_INTERFERENCEGRAPH_H
#define COMPILER_INTERFERENCEGRAPH_H
#include "compiler/common.h"
enum {
fSpilled = 1,
fPushed = 2,
fCoalesced = 4,
fCoalescedInto = 8,
fPairHigh = 0x10,
fPairLow = 0x20,
fIGNode40 = 0x40
};
#ifdef __MWERKS__
#pragma options align=mac68k
#endif
typedef struct IGNode {
struct IGNode *next;
Object *spillTemporary;
PCode *instr8;
int spillCost;
short x10;
short x12;
short x14;
UInt16 flags;
short arraySize;
short array[1];
} IGNode;
#ifdef __MWERKS__
#pragma options align=reset
#endif
extern IGNode **interferencegraph;
extern Boolean coalesced_nregisters;
extern int interferes(UInt32 a, UInt32 b);
extern void buildinterferencegraph(Object *proc);
#endif