aboutsummaryrefslogtreecommitdiff
path: root/include/ssa
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-09-17 01:28:55 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:36:46 +0200
commitb095aedd386e076d1f5a56b7384b836e653387d1 (patch)
treea9dd7d7cbcfba19005ce8aa9486a70d31091d5c3 /include/ssa
parent2928e5f74983f5dd33bc65f192298af87996a037 (diff)
Add support for r8-r15 registers, pass args to registers directly (sys-v)
Diffstat (limited to 'include/ssa')
-rw-r--r--include/ssa/ssa.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/ssa/ssa.h b/include/ssa/ssa.h
index 0b6501b..0ec43b0 100644
--- a/include/ssa/ssa.h
+++ b/include/ssa/ssa.h
@@ -26,6 +26,7 @@ typedef enum {
SSA_FUNC_END,
SSA_PUSH,
SSA_PUSH_RET,
+ SSA_CALL_START,
SSA_CALL,
SSA_CALL_EXTERN,
SSA_JUMP_ZERO,
@@ -109,18 +110,20 @@ typedef struct {
} SsaInsFuncStart;
typedef struct {
- u8 num_args;
FunctionDecl *func_decl;
u8 import_index;
} SsaInsFuncCall;
typedef struct {
- u8 num_args;
LhsExpr *func_decl_lhs;
int import_index;
} SsaInsFuncCallExtern;
typedef struct {
+ u8 num_args;
+} SsaInsCallStart;
+
+typedef struct {
SsaRegister condition_reg;
SsaLabelIndex target_label;
} SsaInsJumpZero;