https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/135019
Theoretically this does a worse job with globals but this is not covered by existing tests >From 6e92bcd3daf17aad7e2a3a3ccc166845aa1b317c Mon Sep 17 00:00:00 2001 From: Matt Arsenault <matthew.arsena...@amd.com> Date: Wed, 9 Apr 2025 13:28:19 +0800 Subject: [PATCH] IROutliner: Do not look at use lists of constant phi inputs Theoretically this does a worse job with globals but this is not covered by existing tests --- llvm/lib/Transforms/IPO/IROutliner.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits