update liveness to work with fp
This commit is contained in:
parent
31f23dd592
commit
ecebb6f48e
3 changed files with 50 additions and 33 deletions
16
lisc/lisc.h
16
lisc/lisc.h
|
@ -65,7 +65,9 @@ enum Reg {
|
|||
|
||||
NReg = RBX - RAX + 1,
|
||||
NFReg = XMM15 - XMM0 + 1,
|
||||
NRSave = 9,
|
||||
NISave = 9,
|
||||
NFSave = 15,
|
||||
NRSave = NISave + NFSave,
|
||||
NRClob = 5,
|
||||
};
|
||||
|
||||
|
@ -164,6 +166,9 @@ enum Class {
|
|||
Kd
|
||||
};
|
||||
|
||||
#define KWIDE(k) ((k)&1)
|
||||
#define KBASE(k) ((k)>>1)
|
||||
|
||||
enum Op {
|
||||
OXXX,
|
||||
|
||||
|
@ -270,7 +275,7 @@ struct Blk {
|
|||
Blk **pred;
|
||||
uint npred;
|
||||
Bits in, out, gen;
|
||||
int nlive;
|
||||
int nlive[2];
|
||||
int loop;
|
||||
char name[NString];
|
||||
};
|
||||
|
@ -295,7 +300,7 @@ struct Tmp {
|
|||
uint ndef, nuse;
|
||||
uint cost;
|
||||
short slot;
|
||||
short wide;
|
||||
short cls;
|
||||
struct {
|
||||
int r;
|
||||
ulong m;
|
||||
|
@ -421,9 +426,8 @@ void filllive(Fn *);
|
|||
/* isel.c */
|
||||
extern int rsave[NRSave];
|
||||
extern int rclob[NRClob];
|
||||
ulong calldef(Ins, int *);
|
||||
ulong calluse(Ins, int *);
|
||||
ulong callclb(Ins, int *);
|
||||
ulong calldef(Ins, int[2]);
|
||||
ulong calluse(Ins, int[2]);
|
||||
void isel(Fn *);
|
||||
|
||||
/* spill.c */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue