aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBlockPlacement.cpp
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2025-04-14 01:03:06 -0700
committerGitHub <noreply@github.com>2025-04-14 01:03:06 -0700
commitebd1667059e7b2865a8e419a21df4d4c9735869c (patch)
tree779cdb98e39f6731a98fff5792e5b38bed025c40 /llvm/lib/CodeGen/MachineBlockPlacement.cpp
parent97bc9137e545423334b00d60ab64855ccc434c3a (diff)
downloadllvm-ebd1667059e7b2865a8e419a21df4d4c9735869c.zip
llvm-ebd1667059e7b2865a8e419a21df4d4c9735869c.tar.gz
llvm-ebd1667059e7b2865a8e419a21df4d4c9735869c.tar.bz2
[CodeGen] Avoid repeated hash lookups (NFC) (#135584)
Diffstat (limited to 'llvm/lib/CodeGen/MachineBlockPlacement.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineBlockPlacement.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
index 40edc47..47213ed 100644
--- a/llvm/lib/CodeGen/MachineBlockPlacement.cpp
+++ b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
@@ -1132,11 +1132,13 @@ MachineBlockPlacement::getBestTrellisSuccessor(
for (auto *Succ : ViableSuccs) {
for (MachineBasicBlock *SuccPred : Succ->predecessors()) {
// Skip any placed predecessors that are not BB
- if (SuccPred != BB)
- if ((BlockFilter && !BlockFilter->count(SuccPred)) ||
- BlockToChain[SuccPred] == &Chain ||
- BlockToChain[SuccPred] == BlockToChain[Succ])
+ if (SuccPred != BB) {
+ if (BlockFilter && !BlockFilter->count(SuccPred))
continue;
+ const BlockChain *SuccPredChain = BlockToChain[SuccPred];
+ if (SuccPredChain == &Chain || SuccPredChain == BlockToChain[Succ])
+ continue;
+ }
BlockFrequency EdgeFreq = MBFI->getBlockFreq(SuccPred) *
MBPI->getEdgeProbability(SuccPred, Succ);
Edges[SuccIndex].push_back({EdgeFreq, SuccPred, Succ});