commit aa98517b3e4df84eb28fe1f3352e34407ef51343 (tree)
parent 4aae0b09cfdc444a0b4e98d3ed7f83bfe421c06f
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sat, 3 Dec 2022 19:36:26 -0700
CBE: aggregate_init: resolve all operands before processing Liveness
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git 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);
}
}