================ @@ -285,28 +287,19 @@ bool AMDGPUCodeGenPrepareImpl::run() { BreakPhiNodesCache.clear(); bool MadeChange = false; - Function::iterator NextBB; - for (Function::iterator FI = F.begin(), FE = F.end(); FI != FE; FI = NextBB) { - BasicBlock *BB = &*FI; - NextBB = std::next(FI); - - BasicBlock::iterator Next; - for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; - I = Next) { - Next = std::next(I); - - MadeChange |= visit(*I); - - if (Next != E) { // Control flow changed - BasicBlock *NextInstBB = Next->getParent(); - if (NextInstBB != BB) { - BB = NextInstBB; - E = BB->end(); - FE = F.end(); - } - } + for (BasicBlock &BB : reverse(F)) { + for (Instruction &I : make_early_inc_range(reverse(BB))) { + if (!DeadVals.contains(&I)) + MadeChange |= visit(I); } } + + while (!DeadVals.empty()) { + RecursivelyDeleteTriviallyDeadInstructions( + DeadVals.pop_back_val(), TLI, /*MSSAU*/ nullptr, ---------------- arsenm wrote:
```suggestion DeadVals.pop_back_val(), TLI, /*MSSAU=*/ nullptr, ``` https://github.com/llvm/llvm-project/pull/145484 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits