aboutsummaryrefslogtreecommitdiff
path: root/src/ir.hff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir.hff')
-rw-r--r--src/ir.hff80
1 files changed, 0 insertions, 80 deletions
diff --git a/src/ir.hff b/src/ir.hff
deleted file mode 100644
index 2f7b98f..0000000
--- a/src/ir.hff
+++ /dev/null
@@ -1,80 +0,0 @@
-import "cffc.hff";
-
-struct IRCtx {
- alloc *Allocator,
-}
-
-struct IRInst;
-struct IRFn {
- body *IRInst
-}
-
-struct IRValue {
- ty *const Type,
- u enum union {
- IImm i64,
- FImm f64,
- SImm [#]const u8,
- BImm bool,
- Null,
- Tmp int,
- Local *Decl,
- Global *Decl,
- }
-}
-
-enum union IRArg {
- Val IRValue,
- Ty *const Type,
- Fn *Decl,
-}
-
-enum IRInstT {
- nop,
- neg,
- not,
- compl,
- fneg,
- add,
- sub,
- mul,
- div,
- mod,
- band,
- bor,
- xor,
- lsl,
- lsr,
- asr,
- fadd,
- fsub,
- fmul,
- fdiv,
- eq,
- neq,
- lt,
- lteq,
- ftrunc,
- itof,
- getelem,
- pgetelem,
- copy,
- setvar,
- load,
- store,
- call,
- b,
- beqz,
- ret0,
- ret,
-}
-
-struct IRInst {
- t IRInstT,
- next *IRInst,
- branch *IRInst,
- call_nargs int,
- args [0]IRArg,
-}
-
-extern fn irdump(*IRInst) void;