aboutsummaryrefslogtreecommitdiff
path: root/ssa.h
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2014-05-01 01:07:51 +0800
committerTeddy <ted.sybil@gmail.com>2014-05-01 01:07:51 +0800
commit38dd138627bf6de02734d00e5df841c25a53855e (patch)
tree7fc2229d47b763c5eafb5121d05f327399318e9d /ssa.h
parent09bd5680d97c5ef36158938c8d65eec455263557 (diff)
'&' operator
Diffstat (limited to 'ssa.h')
-rw-r--r--ssa.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/ssa.h b/ssa.h
index 67ce3a4..400e0a3 100644
--- a/ssa.h
+++ b/ssa.h
@@ -55,6 +55,7 @@ struct CInst {
RET, /* return */
MOVE,
LOAD, /* load from memory */
+ ADDR, /* get address */
MUL, DIV, MOD, ADD, SUB,
SHL, SHR, AND, XOR, OR,
LOR, LAND, NEG, NOR, SEQ,
@@ -93,13 +94,6 @@ struct CBList {
CBList_t next;
};
-typedef struct CVList CVList;
-typedef CVList *CVList_t;
-struct CVList {
- CVar_t var;
- CVList_t next;
-};
-
CBlock_t cblock_create(int inc);
void cblock_append(CBlock_t cblk, CInst_t inst);
void cblock_pappend(CBlock_t cblk, CPhi_t phi);
@@ -134,5 +128,9 @@ typedef struct CInterv {
CRange_t range;
} CInterv;
-void ssa_generate(CScope_t scope);
+void ssa_generate();
+extern int gbbase;
+extern CBlock_t entry;
+extern COList_t defs;
+extern CType_t func;
#endif