aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir/ir.h
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-11-20 13:53:44 +0100
committerlemon <lsof@mailbox.org>2025-11-20 13:53:44 +0100
commit5d69ba4b02f2d592732fc37573efda11fb325058 (patch)
tree5a7a62337f388959c9b850c236a62a87d545f422 /ir/ir.h
parent1f8c531151d0a83e6b2531fdb443c4d6c62c2aab (diff)
isel: lower allocas a different way, such that stk address gets materialized when necesary
Diffstat (limited to 'ir/ir.h')
-rw-r--r--ir/ir.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/ir/ir.h b/ir/ir.h
index aa91f6b..1e9e578 100644
--- a/ir/ir.h
+++ b/ir/ir.h
@@ -237,7 +237,7 @@ union ref mkfltcon(enum irclass, double);
#define isintcon(r) (iscon(r) && kisint(concls(r)))
#define isfltcon(r) ((r).t == RXCON && kisflt(conht[(r).i].cls))
#define isnumcon(r) ((r).t == RICON || ((r).t == RXCON && conht[(r).i].cls))
-#define isaddrcon(r) ((r).t == RXCON && !conht[(r).i].cls && !conht[(r).i].deref)
+#define isaddrcon(r,derefok) ((r).t == RXCON && !conht[(r).i].cls && (derefok || !conht[(r).i].deref))
#define intconval(r) ((r).t == RICON ? (r).i : conht[(r).i].i)
#define fltconval(r) ((r).t == RICON ? (r).i : conht[(r).i].f)
union ref mksymref(const char *);