[llvm-branch-commits] [llvm] IROutliner: Do not look at use lists of constant phi inputs (PR #135019)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Apr 9 07:04:42 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
Theoretically this does a worse job with globals but this is not
covered by existing tests
---
Full diff: https://github.com/llvm/llvm-project/pull/135019.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/IPO/IROutliner.cpp (+2-1)
``````````diff
diff --git a/llvm/lib/Transforms/IPO/IROutliner.cpp b/llvm/lib/Transforms/IPO/IROutliner.cpp
index 8c5946fb07c65..eec869d57a6db 100644
--- a/llvm/lib/Transforms/IPO/IROutliner.cpp
+++ b/llvm/lib/Transforms/IPO/IROutliner.cpp
@@ -1126,7 +1126,8 @@ static void analyzeExitPHIsForOutputUses(
// outside of the single PHINode we should not skip over it.
for (unsigned Idx : IncomingVals) {
Value *V = PN.getIncomingValue(Idx);
- if (outputHasNonPHI(V, Idx, PN, PotentialExitsFromRegion, RegionBlocks)) {
+ if (!isa<Constant>(V) &&
+ outputHasNonPHI(V, Idx, PN, PotentialExitsFromRegion, RegionBlocks)) {
OutputsWithNonPhiUses.insert(V);
OutputsReplacedByPHINode.erase(V);
continue;
``````````
</details>
https://github.com/llvm/llvm-project/pull/135019
More information about the llvm-branch-commits
mailing list