summaryrefslogtreecommitdiff
path: root/utils/5c/reg.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/5c/reg.c')
-rw-r--r--utils/5c/reg.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/utils/5c/reg.c b/utils/5c/reg.c
index 19c8a7b6..43c78712 100644
--- a/utils/5c/reg.c
+++ b/utils/5c/reg.c
@@ -789,6 +789,7 @@ loopit(Reg *r, long nr)
idom = alloc(nr * sizeof(long));
maxnr = nr;
}
+
d = postorder(r, rpo2r, 0);
if(d > nr)
fatal(Z, "too many reg nodes");
@@ -1116,15 +1117,15 @@ long
RtoB(int r)
{
- if(r < 2 || r >= REGTMP)
- return 0;
- return 1L << r;
+ if(r >= REGMIN && r <= REGMAX)
+ return 1L << r;
+ return 0;
}
int
BtoR(long b)
{
- b &= 0x07fcL;
+ b &= 0x01fcL;
if(b == 0)
return 0;
return bitno(b);