From 91c4e28c5102223917ccf270fd466b796e0e0587 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 20 Jul 2021 16:04:46 -0700 Subject: [PATCH] Liveness: fix br instruction not tracking its operand --- src/Liveness.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Liveness.zig b/src/Liveness.zig index 02d0ea7bc5..2039dd7146 100644 --- a/src/Liveness.zig +++ b/src/Liveness.zig @@ -250,7 +250,6 @@ fn analyzeInst( .arg, .alloc, - .br, .constant, .const_ty, .breakpoint, @@ -321,6 +320,10 @@ fn analyzeInst( const extra = a.air.extraData(Air.StructField, inst_datas[inst].ty_pl.payload).data; return trackOperands(a, new_set, inst, main_tomb, .{ extra.struct_ptr, .none, .none }); }, + .br => { + const br = inst_datas[inst].br; + return trackOperands(a, new_set, inst, main_tomb, .{ br.operand, .none, .none }); + }, .assembly => { const extra = a.air.extraData(Air.Asm, inst_datas[inst].ty_pl.payload); const extended = a.zir.instructions.items(.data)[extra.data.zir_index].extended;