[llvm] [CodeGen] Avoid repeated hash lookups (NFC) (PR #135584)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 13 20:23:12 PDT 2025


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/135584

None

>From 4f9927811fb97f06d516e4808036dd73875eb18f Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 13 Apr 2025 15:54:15 -0700
Subject: [PATCH] [CodeGen] Avoid repeated hash lookups (NFC)

---
 llvm/lib/CodeGen/MachineBlockPlacement.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/CodeGen/MachineBlockPlacement.cpp b/llvm/lib/CodeGen/MachineBlockPlacement.cpp
index 40edc47f3e6bb..47213ede3a33e 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});



More information about the llvm-commits mailing list