aboutsummaryrefslogtreecommitdiff
path: root/ssa.h
diff options
context:
space:
mode:
Diffstat (limited to 'ssa.h')
-rw-r--r--ssa.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/ssa.h b/ssa.h
index 0507a5c..a85e5c7 100644
--- a/ssa.h
+++ b/ssa.h
@@ -158,15 +158,22 @@ CInst_t cexpmap_lookup(CExpMap_t cem, CInst_t exp);
void cexpmap_clear(CExpMap_t cem);
void cexpmap_destroy(CExpMap_t cem);
+typedef struct CFuncIR CFuncIR;
+typedef CFuncIR *CFuncIR_t;
+struct CFuncIR {
+ int gbbase;
+ CBlock_t entry;
+ COList_t defs;
+ CType_t func;
+ CFuncIR_t next;
+};
+
void ssa_generate(void);
COpr_t cinterv_repr(COpr_t opr);
void cinst_print(FILE *stream, CInst_t inst);
int overlap_with_beg(COpr_t i, int beg);
-extern int gbbase;
-extern CBlock_t entry;
-extern COList_t defs;
-extern CType_t func;
+extern CFuncIR_t func_ir;
extern const int avail_regs[];
extern const int MAX_AVAIL_REGS;