[llvm] [InstCombine] Make backedge check in op of phi transform more precise (PR #106075)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 31 18:38:31 PDT 2024
================
@@ -5373,6 +5371,18 @@ bool InstCombinerImpl::prepareWorklist(Function &F) {
return MadeIRChange;
}
+void InstCombiner::computeBackEdges() {
+ // Collect backedges.
+ SmallPtrSet<BasicBlock *, 16> Visited;
+ for (BasicBlock *BB : RPOT) {
+ Visited.insert(BB);
+ for (BasicBlock *Succ : successors(BB))
+ if (Visited.contains(Succ))
+ BackEdges.insert({BB, Succ});
----------------
dtcxzyw wrote:
```suggestion
if (Succ != BB && Visited.contains(Succ))
BackEdges.insert({BB, Succ});
```
Can we avoid inserting trivial edges `BB->BB`?
https://github.com/llvm/llvm-project/pull/106075
More information about the llvm-commits
mailing list