diff options
| author | 2026-02-19 20:29:16 +0100 | |
|---|---|---|
| committer | 2026-02-19 20:29:16 +0100 | |
| commit | ad8067a1ab1871cf57936828fb1b40c15cd3349d (patch) | |
| tree | ad86757ae0f84f1fd7dd58373cdb4f50d7f036d6 /aarch64/emit.c | |
| parent | 1430f62ebed808458baccbdf0e41b806334ff704 (diff) | |
IR: just use an array for extended constants
The extra work of using a hashtable to intern them is probably
unnecessary.
Diffstat (limited to 'aarch64/emit.c')
| -rw-r--r-- | aarch64/emit.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/aarch64/emit.c b/aarch64/emit.c index d49906e..6db1bd6 100644 --- a/aarch64/emit.c +++ b/aarch64/emit.c @@ -86,12 +86,12 @@ ref2oper(union ref r) case RREG: return reg2oper(r.i); case RICON: return mkoper(OIMM, .imm = r.i); case RXCON: - if (kisint(conht[r.i].cls)) - return mkoper(OIMM, .imm = conht[r.i].i); - else if (kisflt(conht[r.i].cls)) { - assert(conht[r.i].f == 0.0); + if (kisint(contab.p[r.i].cls)) + return mkoper(OIMM, .imm = contab.p[r.i].i); + else if (kisflt(contab.p[r.i].cls)) { + assert(contab.p[r.i].f == 0.0); return mkoper(OIMM, .imm = 0); - } else if (!conht[r.i].cls) { + } else if (!contab.p[r.i].cls) { return mkoper(OSYM, .con = r.i); } assert(0); @@ -553,7 +553,7 @@ gencopy(uchar **pcode, enum irclass cls, struct block *blk, int curi, struct ope Xfmov(pcode, cls, dst, REGZR); else assert(0); } else if (isaddrcon(val,0) || (val.t == RADDR && isaddrcon(addrht[val.i].base,0))) { - if ((ccopt.pic || (conht[val.i].flag & SFUNC)) && !(conht[val.i].flag & SLOCAL)) { + if ((ccopt.pic || (contab.p[val.i].flag & SFUNC)) && !(contab.p[val.i].flag & SLOCAL)) { Xadrp(pcode, KPTR, dst, src); Xadd(pcode, KPTR, dst, dst, src); } else { |