blob: 8fa44a1bc4d0f0d6f37036ecfdcd0c66438f8c0f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#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
|