diff --git a/compiler/compiler_generate.c2 b/compiler/compiler_generate.c2 index a144a45ae..092afc11f 100644 --- a/compiler/compiler_generate.c2 +++ b/compiler/compiler_generate.c2 @@ -62,8 +62,7 @@ fn void Compiler.generate(Compiler* c, const char* target_name, const char* outp console.debug("generating C"); u64 gen3 = utils.now(); - string_list.List asm_files; - asm_files.init(c.auxPool); + string_list.List asm_files.init(c.auxPool); for (u32 i=0; i - ir.Ref left; - left.init(RefKind.Value, 0); + ir.Ref left.init(RefKind.Value, 0); ir.Ref right; gen.emitExpr(&right, uo.getInner()); *result = gen.ctx.addBinaryInstr(InstrKind.Sub, left, right); @@ -296,13 +291,11 @@ fn void Generator.emitUnaryOperator(Generator* gen, ir.Ref* result, const Expr* gen.emitExpr(&lhs, uo.getInner()); // convert integer to bool: compare to 0 - ir.Ref zero; - zero.init(RefKind.Value, 0); + ir.Ref zero.init(RefKind.Value, 0); ir.Ref rhs = gen.ctx.addBinaryInstr(InstrKind.CmpNe, lhs, zero); // invert: xor with 1 - ir.Ref one; - one.init(RefKind.Value, 1); + ir.Ref one.init(RefKind.Value, 1); rhs = gen.ctx.addBinaryInstr(InstrKind.Xor, rhs, one); // TODO zext i1 -> i32 @@ -386,8 +379,7 @@ fn void Generator.emitCond(Generator* gen, const Expr* e, BlockId true_blk, Bloc break; } gen.emitExpr(&ref, e); - ir.Ref zero; - zero.init(RefKind.Value, 0); + ir.Ref zero.init(RefKind.Value, 0); ir.Ref cond = gen.ctx.addBinaryInstr(InstrKind.CmpNe, ref, zero); c.addJmpIfInstr(cond, true_blk, false_blk); c.endBlock(); @@ -401,8 +393,7 @@ fn void Generator.emitAssignCond(Generator* gen, ir.Type t, ir.Ref lhs, ir.Ref r // store a, %x // icmp ne %x, 0 c.addStoreInstr(t, rhs, lhs); - ir.Ref zero; - zero.init(RefKind.Value, 0); + ir.Ref zero.init(RefKind.Value, 0); ir.Ref cond = gen.ctx.addBinaryInstr(InstrKind.CmpNe, rhs, zero); c.addJmpIfInstr(cond, left, right); c.endBlock(); @@ -574,8 +565,7 @@ fn void Generator.emitStructInitExpr(Generator* gen, const StackVar* var, const } if (ile.hasDesignators()) { - FieldStructLayouter layouter; - layouter.init(gen, std.getSize(), std.getDesigMemberCount()); + FieldStructLayouter layouter.init(gen, std.getSize(), std.getDesigMemberCount()); for (u32 i=0; i= min_27bits && size <= max_27_bits) { - ref.init(RefKind.Value, (u32)size); + Ref ref.init(RefKind.Value, (u32)size); + return ref; } else { Constant constant = { .ivalue = size } u32 idx = c.constants.add(&constant); - ref.init(RefKind.Integer, idx); + Ref ref.init(RefKind.Integer, idx); + return ref; } - return ref; } public fn void Context.addComment(Context* c, const char* text) {