aboutsummaryrefslogtreecommitdiffhomepage
path: root/aarch64/emit.c
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2026-02-19 20:29:16 +0100
committerlemon <lsof@mailbox.org>2026-02-19 20:29:16 +0100
commitad8067a1ab1871cf57936828fb1b40c15cd3349d (patch)
treead86757ae0f84f1fd7dd58373cdb4f50d7f036d6 /aarch64/emit.c
parent1430f62ebed808458baccbdf0e41b806334ff704 (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.c12
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 {