[llvm] [Analysis] Avoid repeated hash lookups (NFC) (PR #123446)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 18 09:43:57 PST 2025


https://github.com/kazutakahirata updated https://github.com/llvm/llvm-project/pull/123446

>From 8ca1ac398f2b2c7c176d591813ae5409d7629965 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 17 Jan 2025 09:26:48 -0800
Subject: [PATCH 1/2] [Analysis] Avoid repeated hash lookups (NFC)

---
 llvm/lib/Analysis/InlineCost.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index 85287a39f2caad..c77441d5d46bbd 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -2698,8 +2698,10 @@ void CallAnalyzer::findDeadBlocks(BasicBlock *CurrBB, BasicBlock *NextBB) {
   auto IsEdgeDead = [&](BasicBlock *Pred, BasicBlock *Succ) {
     // A CFG edge is dead if the predecessor is dead or the predecessor has a
     // known successor which is not the one under exam.
-    return (DeadBlocks.count(Pred) ||
-            (KnownSuccessors[Pred] && KnownSuccessors[Pred] != Succ));
+    if (DeadBlocks.count(Pred))
+      return true;
+    auto *KnownSucc = KnownSuccessors[Pred];
+    return KnownSucc && KnownSucc != Succ;
   };
 
   auto IsNewlyDead = [&](BasicBlock *BB) {

>From b0fa3b24538ee1fe9aea2827a24f9b1923f04d0a Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sat, 18 Jan 2025 09:43:48 -0800
Subject: [PATCH 2/2] Update llvm/lib/Analysis/InlineCost.cpp

Co-authored-by: Nikita Popov <github at npopov.com>
---
 llvm/lib/Analysis/InlineCost.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Analysis/InlineCost.cpp b/llvm/lib/Analysis/InlineCost.cpp
index c77441d5d46bbd..8fa150f7d690e7 100644
--- a/llvm/lib/Analysis/InlineCost.cpp
+++ b/llvm/lib/Analysis/InlineCost.cpp
@@ -2700,7 +2700,7 @@ void CallAnalyzer::findDeadBlocks(BasicBlock *CurrBB, BasicBlock *NextBB) {
     // known successor which is not the one under exam.
     if (DeadBlocks.count(Pred))
       return true;
-    auto *KnownSucc = KnownSuccessors[Pred];
+    BasicBlock *KnownSucc = KnownSuccessors[Pred];
     return KnownSucc && KnownSucc != Succ;
   };
 



More information about the llvm-commits mailing list