[llvm] [X86] Avoid repeated hash lookups (NFC) (PR #131725)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 17 21:02:09 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-x86
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/131725.diff
1 Files Affected:
- (modified) llvm/lib/Target/X86/X86PadShortFunction.cpp (+5-6)
``````````diff
diff --git a/llvm/lib/Target/X86/X86PadShortFunction.cpp b/llvm/lib/Target/X86/X86PadShortFunction.cpp
index 2859195c6c26e..e4cc4fdcb3ab0 100644
--- a/llvm/lib/Target/X86/X86PadShortFunction.cpp
+++ b/llvm/lib/Target/X86/X86PadShortFunction.cpp
@@ -181,10 +181,9 @@ void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigned int Cycles) {
bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
unsigned int &Cycles) {
// Return cached result if BB was previously visited
- DenseMap<MachineBasicBlock*, VisitedBBInfo>::iterator it
- = VisitedBBs.find(MBB);
- if (it != VisitedBBs.end()) {
- VisitedBBInfo BBInfo = it->second;
+ auto [It, Inserted] = VisitedBBs.try_emplace(MBB);
+ if (!Inserted) {
+ VisitedBBInfo BBInfo = It->second;
Cycles += BBInfo.Cycles;
return BBInfo.HasReturn;
}
@@ -196,7 +195,7 @@ bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
// functions do not count because the called function will be padded,
// if necessary.
if (MI.isReturn() && !MI.isCall()) {
- VisitedBBs[MBB] = VisitedBBInfo(true, CyclesToEnd);
+ It->second = VisitedBBInfo(true, CyclesToEnd);
Cycles += CyclesToEnd;
return true;
}
@@ -204,7 +203,7 @@ bool PadShortFunc::cyclesUntilReturn(MachineBasicBlock *MBB,
CyclesToEnd += TSM.computeInstrLatency(&MI);
}
- VisitedBBs[MBB] = VisitedBBInfo(false, CyclesToEnd);
+ It->second = VisitedBBInfo(false, CyclesToEnd);
Cycles += CyclesToEnd;
return false;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/131725
More information about the llvm-commits
mailing list