diff options
author | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-11-30 12:53:30 -0500 |
---|---|---|
committer | Quentin Carbonneaux <quentin.carbonneaux@yale.edu> | 2015-11-30 12:53:30 -0500 |
commit | ecebb6f48e276336d386125f3471b1c20db97119 (patch) | |
tree | 74911b760e2487274a20e37b21d984bb7e1f0920 /lisc/lisc.h | |
parent | 31f23dd5925196b5c0eb81cdf9537913b9a3ae4c (diff) | |
download | roux-ecebb6f48e276336d386125f3471b1c20db97119.tar.gz |
update liveness to work with fp
Diffstat (limited to 'lisc/lisc.h')
-rw-r--r-- | lisc/lisc.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/lisc/lisc.h b/lisc/lisc.h index bebcc7b..1d1f027 100644 --- a/lisc/lisc.h +++ b/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 */ |