diff options
| -rw-r--r-- | ir/builder.c | 8 | ||||
| -rw-r--r-- | ir/fold.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/ir/builder.c b/ir/builder.c index 213a491..964099a 100644 --- a/ir/builder.c +++ b/ir/builder.c @@ -19,7 +19,7 @@ irbinop(struct function *fn, enum op op, enum irclass k, union ref l, union ref if (r.bits == ZEROREF.bits) return l; /* x +/- 0 ==> x */ break; case Omul: case Oumul: - if (iscon(l)) rswap(l, r); /* put const in rhs */ + if (isnumcon(l)) rswap(l, r); /* put const in rhs */ if (r.bits == ZEROREF.bits) /* x * 0 ==> 0 */ return ZEROREF; if (r.bits == ONE.bits) /* x * 1 ==> x */ @@ -49,16 +49,16 @@ irbinop(struct function *fn, enum op op, enum irclass k, union ref l, union ref } break; case Oand: - if (iscon(l)) rswap(l, r); /* put const in rhs */ + if (isnumcon(l)) rswap(l, r); /* put const in rhs */ if (r.bits == ZEROREF.bits) /* x & 0 ==> 0 */ return ZEROREF; break; case Oior: - if (iscon(l)) rswap(l, r); /* put const in rhs */ + if (isnumcon(l)) rswap(l, r); /* put const in rhs */ if (r.bits == ZEROREF.bits) /* x | 0 ==> x */ return l; case Oxor: - if (iscon(l)) rswap(l, r); /* put const in rhs */ + if (isnumcon(l)) rswap(l, r); /* put const in rhs */ if (r.bits == ZEROREF.bits) /* x ^ 0 ==> x */ return l; case Oshl: case Osar: case Oslr: @@ -89,7 +89,7 @@ foldflt(enum op op, enum irclass k, union ref lr, union ref rr) bool foldbinop(union ref *to, enum op op, enum irclass k, union ref l, union ref r) { - if (!iscon(l) || !iscon(r)) return 0; + if (!isnumcon(l) || !isnumcon(r)) return 0; if (in_range(op, Odiv, Ourem) && (kisint(k) ? intconval(r) == 0 : fltconval(r) == 0)) return 0; if (!oisarith(op)) @@ -104,7 +104,7 @@ foldbinop(union ref *to, enum op op, enum irclass k, union ref l, union ref r) bool foldunop(union ref *to, enum op op, enum irclass k, union ref a) { - if (!iscon(a)) return 0; + if (!isnumcon(a)) return 0; if (op != Ocopy && !oisarith(op)) return 0; if (kisint(k)) |