Commit aa98517b3e

Andrew Kelley <andrew@ziglang.org>
2022-12-04 03:36:26
CBE: aggregate_init: resolve all operands before processing Liveness
1 parent 4aae0b0
Changed files (1)
src
codegen
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);
         }
     }