diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-12-03 19:36:26 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-12-04 15:57:40 -0700 |
| commit | aa98517b3e4df84eb28fe1f3352e34407ef51343 (patch) | |
| tree | 3ed96c9c4d1371859336b4484864942b49b504cb | |
| parent | 4aae0b09cfdc444a0b4e98d3ed7f83bfe421c06f (diff) | |
| download | zig-aa98517b3e4df84eb28fe1f3352e34407ef51343.tar.gz zig-aa98517b3e4df84eb28fe1f3352e34407ef51343.zip | |
CBE: aggregate_init: resolve all operands before processing Liveness
| -rw-r--r-- | src/codegen/c.zig | 6 |
1 files changed, 4 insertions, 2 deletions
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); } } |
