dead_code_elimination_pass: Remove unreachable Phi arguments

This commit is contained in:
ameerj 2022-03-22 18:34:31 -04:00
parent 09128c9106
commit 6091af472a
3 changed files with 36 additions and 0 deletions

View file

@ -326,6 +326,11 @@ void Inst::AddPhiOperand(Block* predecessor, const Value& value) {
phi_args.emplace_back(predecessor, value);
}
void Inst::ErasePhiOperand(size_t index) {
const auto operand_it{phi_args.begin() + static_cast<ptrdiff_t>(index)};
phi_args.erase(operand_it);
}
void Inst::OrderPhiArgs() {
if (op != Opcode::Phi) {
throw LogicError("{} is not a Phi instruction", op);