authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-12-03 19:36:26-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-12-04 15:57:40-07:00
logaa98517b3e4df84eb28fe1f3352e34407ef51343
tree3ed96c9c4d1371859336b4484864942b49b504cb
parent4aae0b09cfdc444a0b4e98d3ed7f83bfe421c06f

CBE: aggregate_init: resolve all operands before processing Liveness


1 files changed, 4 insertions(+), 2 deletions(-)

src/codegen/c.zig+4-2
...@@ -6244,10 +6244,12 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue {...@@ -6244,10 +6244,12 @@ fn airAggregateInit(f: *Function, inst: Air.Inst.Index) !CValue {
6244 const gpa = f.object.dg.gpa;6244 const gpa = f.object.dg.gpa;
6245 const resolved_elements = try gpa.alloc(CValue, elements.len);6245 const resolved_elements = try gpa.alloc(CValue, elements.len);
6246 defer gpa.free(resolved_elements);6246 defer gpa.free(resolved_elements);
6247 for (elements) |element, i| {
6248 resolved_elements[i] = try f.resolveInst(element);
6249 }
6247 {6250 {
6248 var bt = iterateBigTomb(f, inst);6251 var bt = iterateBigTomb(f, inst);
6249 for (elements) |element, i| {6252 for (elements) |element| {
6250 resolved_elements[i] = try f.resolveInst(element);
6251 try bt.feed(element);6253 try bt.feed(element);
6252 }6254 }
6253 }6255 }