summaryrefslogtreecommitdiff
path: root/utils/5c/reg.c
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2010-04-27 22:08:33 +0100
committerforsyth <forsyth@vitanuova.com>2010-04-27 22:08:33 +0100
commitf8af978a60a0a00813e7a57f93d9a5ba4df44069 (patch)
treed51effe94b54eb087d5436dad8469f548b3f42b6 /utils/5c/reg.c
parent4206ee1aeaccb7703f3f3613a98a5447f51d6367 (diff)
20100427-2208
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);