From aa98517b3e4df84eb28fe1f3352e34407ef51343 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 3 Dec 2022 19:36:26 -0700 Subject: CBE: aggregate_init: resolve all operands before processing Liveness --- src/codegen/c.zig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/codegen') diff --git a/src/codegen/c.zig b/src/codegen/c.zig index ac22ac3fa6..d2ea876065 100644 --- a/src/codegen/c.zig +++ b/src/codegen/c.zig @@ -6244,10 +6244,12 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue { const gpa = f.object.dg.gpa; const resolved_elements = try gpa.alloc(CValue, elements.len); defer gpa.free(resolved_elements); + for (elements) |element, i| { + resolved_elements[i] = try f.resolveInst(element); + } { var bt = iterateBigTomb(f, inst); - for (elements) |element, i| { - resolved_elements[i] = try f.resolveInst(element); + for (elements) |element| { try bt.feed(element); } } -- cgit v1.2.3