[llvm] [GVN][NFC] Use early return in phiTranslateImpl() (PR #149268)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 17 00:52:06 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
Author: Madhur Amilkanthwar (madhur13490)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/149268.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/Scalar/GVN.cpp (+9-6)
``````````diff
diff --git a/llvm/lib/Transforms/Scalar/GVN.cpp b/llvm/lib/Transforms/Scalar/GVN.cpp
index 8bff458f88bb9..affae41ed2c83 100644
--- a/llvm/lib/Transforms/Scalar/GVN.cpp
+++ b/llvm/lib/Transforms/Scalar/GVN.cpp
@@ -2367,12 +2367,15 @@ uint32_t GVNPass::ValueTable::phiTranslateImpl(const BasicBlock *Pred,
// See if we can refine the value number by looking at the PN incoming value
// for the given predecessor.
if (PHINode *PN = NumberingPhi[Num]) {
- if (PN->getParent() == PhiBlock)
- for (unsigned I = 0; I != PN->getNumIncomingValues(); ++I)
- if (PN->getIncomingBlock(I) == Pred)
- if (uint32_t TransVal = lookup(PN->getIncomingValue(I), false))
- return TransVal;
- return Num;
+ if (PN->getParent() != PhiBlock)
+ return Num;
+
+ for (unsigned I = 0; I != PN->getNumIncomingValues(); ++I) {
+ if (PN->getIncomingBlock(I) != Pred)
+ continue;
+ if (uint32_t TransVal = lookup(PN->getIncomingValue(I), false))
+ return TransVal;
+ }
}
if (BasicBlock *BB = NumberingBB[Num]) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/149268
More information about the llvm-commits
mailing list