Liveness: utilize Air.refToIndex

This commit is contained in:
Andrew Kelley 2022-04-07 23:11:11 -07:00
parent 737ef3e81b
commit 6ae8fe193b
2 changed files with 2 additions and 6 deletions

View File

@ -796,9 +796,7 @@ const ExtraTombs = struct {
assert(this_bit_index < 32); // TODO mechanism for when there are greater than 32 operands
et.bit_index += 1;
const gpa = et.analysis.gpa;
const op_int = @enumToInt(op_ref);
if (op_int < Air.Inst.Ref.typed_value_map.len) return;
const op_index: Air.Inst.Index = op_int - @intCast(u32, Air.Inst.Ref.typed_value_map.len);
const op_index = Air.refToIndex(op_ref) orelse return;
const prev = try et.analysis.table.fetchPut(gpa, op_index, {});
if (prev == null) {
// Death.

View File

@ -280,9 +280,7 @@ const BigTomb = struct {
const this_bit_index = bt.bit_index;
bt.bit_index += 1;
const op_int = @enumToInt(op_ref);
if (op_int < Air.Inst.Ref.typed_value_map.len) return;
const op_index = @intCast(Air.Inst.Index, op_int - Air.Inst.Ref.typed_value_map.len);
const op_index = Air.refToIndex(op_ref) orelse return;
if (this_bit_index < Liveness.bpi - 1) {
const dies = @truncate(u1, bt.tomb_bits >> @intCast(Liveness.OperandInt, this_bit_index)) != 0;