[llvm] [SCEV] Avoid repeated hash lookups (NFC) (PR #112656)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 16 20:35:59 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-analysis
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/112656.diff
1 Files Affected:
- (modified) llvm/lib/Analysis/ScalarEvolution.cpp (+4-4)
``````````diff
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index a3ba8e03781910..61ec336c8548cc 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -9662,14 +9662,14 @@ Constant *
ScalarEvolution::getConstantEvolutionLoopExitValue(PHINode *PN,
const APInt &BEs,
const Loop *L) {
- auto I = ConstantEvolutionLoopExitValue.find(PN);
- if (I != ConstantEvolutionLoopExitValue.end())
+ auto [I, Inserted] = ConstantEvolutionLoopExitValue.try_emplace(PN);
+ if (!Inserted)
return I->second;
if (BEs.ugt(MaxBruteForceIterations))
- return ConstantEvolutionLoopExitValue[PN] = nullptr; // Not going to evaluate it.
+ return nullptr; // Not going to evaluate it.
- Constant *&RetVal = ConstantEvolutionLoopExitValue[PN];
+ Constant *&RetVal = I->second;
DenseMap<Instruction *, Constant *> CurrentIterVals;
BasicBlock *Header = L->getHeader();
``````````
</details>
https://github.com/llvm/llvm-project/pull/112656
More information about the llvm-commits
mailing list