From 34313d801d38aa726d01b7f09690fb7a86ac47dd Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 29 Aug 2022 23:01:37 +0200 Subject: remove ir*.cff; make vararg only with primitive types --- src/ir.hff | 80 -------------------------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 src/ir.hff (limited to 'src/ir.hff') 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; -- cgit v1.2.3