[llvm] [ReachingDefAnalysis] Detect entry block correclty. (PR #176803)

Mikhail Gudim via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 19 11:02:39 PST 2026


https://github.com/mgudim created https://github.com/llvm/llvm-project/pull/176803

Before a block was deemed an entry block if it did not have any predecessors, which is wrong: entry block can be its own predecessor.

>From cb63b734e76d84b327d87cb29d1b408d46904189 Mon Sep 17 00:00:00 2001
From: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: Mon, 19 Jan 2026 10:54:20 -0800
Subject: [PATCH] [ReachingDefAnalysis] Detect entry block correclty.

Before a block was deemed an entry block if it did not have any
predecessors, which is wrong: entry block can be its own predecessor.
---
 llvm/lib/CodeGen/ReachingDefAnalysis.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
index 82374110406ff..1d1d88111d92b 100644
--- a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
+++ b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
@@ -128,7 +128,7 @@ void ReachingDefInfo::enterBasicBlock(MachineBasicBlock *MBB) {
     LiveRegs.assign(NumRegUnits, ReachingDefDefaultVal);
 
   // This is the entry block.
-  if (MBB->pred_empty()) {
+  if (MBB == &MBB->getParent()->front()) {
     for (const auto &LI : MBB->liveins()) {
       for (MCRegUnit Unit : TRI->regunits(LI.PhysReg)) {
         // Treat function live-ins as if they were defined just before the first



More information about the llvm-commits mailing list