aboutsummaryrefslogtreecommitdiffhomepage
path: root/x86_64/emit.c
diff options
context:
space:
mode:
Diffstat (limited to 'x86_64/emit.c')
-rw-r--r--x86_64/emit.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/x86_64/emit.c b/x86_64/emit.c
index 17ea1f3..0d7b77a 100644
--- a/x86_64/emit.c
+++ b/x86_64/emit.c
@@ -46,13 +46,13 @@ ref2oper(union ref r)
case RREG: return reg2oper(r.i);
case RICON: return mkoper(OIMM, .imm = r.i);
case RXCON:
- if (conht[r.i].cls == KI32)
- return mkoper(OIMM, .imm = conht[r.i].i);
- else if (conht[r.i].cls == KI64) {
- vlong i = conht[r.i].i;
+ if (contab.p[r.i].cls == KI32)
+ return mkoper(OIMM, .imm = contab.p[r.i].i);
+ else if (contab.p[r.i].cls == KI64) {
+ vlong i = contab.p[r.i].i;
assert(i == (int)i);
return mkoper(OIMM, .imm = i);
- } else if (!conht[r.i].cls) {
+ } else if (!contab.p[r.i].cls) {
return mkoper(OSYM, .con = r.i, .cindex = NOINDEX);
}
assert(0);
@@ -107,14 +107,14 @@ mkimmregoper(union ref r)
static inline struct oper
mkdatregoper(union ref r)
{
- assert(isregref(r) || (r.t == RXCON && conht[r.i].deref));
+ assert(isregref(r) || (r.t == RXCON && contab.p[r.i].deref));
return ref2oper(r);
}
static inline struct oper
mkimmdatregoper(union ref r)
{
- assert(isregref(r) || r.t == RICON || (r.t == RXCON && (conht[r.i].cls == KI32 || conht[r.i].deref)));
+ assert(isregref(r) || r.t == RICON || (r.t == RXCON && (contab.p[r.i].cls == KI32 || contab.p[r.i].deref)));
return ref2oper(r);
}
@@ -151,7 +151,7 @@ mkmemoper(union ref r)
.disp = addr->disp,
.shift = addr->shift);
} else if (r.t == RXCON) {
- assert(!conht[r.i].cls);
+ assert(!contab.p[r.i].cls);
return mkoper(OSYM, .con = r.i, .cindex = NOINDEX);
} else {
return mkoper(OMEM, .base = isregref(r) ? ref2oper(r).reg : NOBASE,
@@ -869,8 +869,8 @@ gencopy(uchar **pcode, enum irclass cls, struct block *blk, int curi, struct ope
}
/* normal (not 2-address) case */
Lea:
- if (isaddrcon(addr->base,0) && (ccopt.pic || (conht[addr->base.i].flag & SFUNC))
- && !(conht[addr->base.i].flag & SLOCAL)) {
+ if (isaddrcon(addr->base,0) && (ccopt.pic || (contab.p[addr->base.i].flag & SFUNC))
+ && !(contab.p[addr->base.i].flag & SLOCAL)) {
assert(!addr->disp && !addr->index.bits);
val = addr->base;
goto GOTLoad;
@@ -880,7 +880,7 @@ gencopy(uchar **pcode, enum irclass cls, struct block *blk, int curi, struct ope
/* dst = 0 -> xor dst, dst; but only if it is ok to clobber flags */
Xxor(pcode, kisint(cls) ? KI32 : cls, dst, dst);
} else if (isaddrcon(val,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)) {
GOTLoad:
/* for mov reg, [rip(sym@GOTPCREL)] */
Xmov(pcode, cls, dst, mkoper(OSYMGOT, .con = val.i, .cindex = NOINDEX));