commit e7825e70d532d16f1598eaa598342af373716418
parent 6a2c88054318290f4b4aeb6f24d710a3f99c6415
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Fri, 1 Apr 2016 10:41:53 -0400
tradeoff the type of bsiter()
int is used all over the place for temporaries,
maybe this should be changed, I don't know.
Another thing to consider is that temporaries
are currently on 12 bits (and will be on 29
or 30 bits in the future), so int will always be
safe to store them. We just loose the free
invariant of non-negativity.
Diffstat:
4 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/all.h b/all.h
@@ -510,7 +510,7 @@ void bsunion(BSet *, BSet *);
void bsinter(BSet *, BSet *);
void bsdiff(BSet *, BSet *);
int bsequal(BSet *, BSet *);
-int bsiter(BSet *, uint *);
+int bsiter(BSet *, int *);
static inline int
bshas(BSet *bs, uint elt)
diff --git a/live.c b/live.c
@@ -70,8 +70,7 @@ filllive(Fn *f)
{
Blk *b;
Ins *i;
- int k, m[2], n, chg, nlv[2];
- uint t;
+ int k, t, m[2], n, chg, nlv[2];
short *phi;
BSet u[1], v[1];
Mem *ma;
diff --git a/spill.c b/spill.c
@@ -178,8 +178,7 @@ static void
limit(BSet *b, int k, BSet *f)
{
static int *tarr, maxt;
- int i, nt;
- uint t;
+ int i, t, nt;
nt = bscount(b);
if (nt <= k)
@@ -222,7 +221,7 @@ limit2(BSet *b1, int k1, int k2, BSet *fst)
static void
sethint(BSet *u, bits r)
{
- uint t;
+ int t;
for (t=Tmp0; bsiter(u, &t); t++)
tmp[phicls(t, tmp)].hint.m |= r;
@@ -231,7 +230,7 @@ sethint(BSet *u, bits r)
static void
reloads(BSet *u, BSet *v)
{
- uint t;
+ int t;
for (t=Tmp0; bsiter(u, &t); t++)
if (!bshas(v, t))
diff --git a/util.c b/util.c
@@ -313,7 +313,7 @@ bszero(BSet *bs)
*
*/
int
-bsiter(BSet *bs, uint *elt)
+bsiter(BSet *bs, int *elt)
{
uint i;
@@ -332,7 +332,7 @@ bsiter(BSet *bs, uint *elt)
void
dumpts(BSet *bs, Tmp *tmp, FILE *f)
{
- uint t;
+ int t;
fprintf(f, "[");
for (t=Tmp0; bsiter(bs, &t); t++)