[llvm] [ReachingDefAnalysis][NFC] Use named constants. (PR #175075)

Mikhail Gudim via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 8 13:51:33 PST 2026


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

None

>From f01073d7c3f13fd84456c6934eff25166cab3fa7 Mon Sep 17 00:00:00 2001
From: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: Thu, 8 Jan 2026 13:30:12 -0800
Subject: [PATCH 1/2] [CodeGen][NFC] Improve readability of
 getLocalLiveOutMIDef

Reorder some code to make it less confusing.
---
 llvm/lib/CodeGen/ReachingDefAnalysis.cpp | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
index b12a5bc64ca0b..b8b35210413ff 100644
--- a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
+++ b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
@@ -663,18 +663,18 @@ MachineInstr *ReachingDefInfo::getLocalLiveOutMIDef(MachineBasicBlock *MBB,
   if (Last == MBB->end())
     return nullptr;
 
+  // Check if Last is the definition
   if (Reg.isStack()) {
     int FrameIndex = Reg.stackSlotIndex();
     if (isFIDef(*Last, FrameIndex, TII))
       return &*Last;
+  } else {
+    for (auto &MO : Last->operands())
+      if (isValidRegDefOf(MO, Reg, TRI))
+        return &*Last;
   }
 
   int Def = getReachingDef(&*Last, Reg);
-
-  for (auto &MO : Last->operands())
-    if (isValidRegDefOf(MO, Reg, TRI))
-      return &*Last;
-
   return Def < 0 ? nullptr : getInstFromId(MBB, Def);
 }
 

>From 07dbc6dcd97120f7eacb1caf6e401b0070d747e7 Mon Sep 17 00:00:00 2001
From: Mikhail Gudim <mgudim at qti.qualcomm.com>
Date: Thu, 8 Jan 2026 13:47:21 -0800
Subject: [PATCH 2/2] [ReachingDefAnalysis][NFC] Use named constants.

---
 llvm/include/llvm/CodeGen/ReachingDefAnalysis.h | 2 ++
 llvm/lib/CodeGen/ReachingDefAnalysis.cpp        | 6 +++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h b/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
index 863c3b39229b9..d6509b9af76c0 100644
--- a/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
+++ b/llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
@@ -152,6 +152,8 @@ class ReachingDefInfo {
 
   /// Default values are 'nothing happened a long time ago'.
   const int ReachingDefDefaultVal = -(1 << 21);
+  /// Special values for function live-ins.
+  const int FunctionLiveIn = -1;
 
   using InstSet = SmallPtrSetImpl<MachineInstr*>;
   using BlockSet = SmallPtrSetImpl<MachineBasicBlock*>;
diff --git a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
index b8b35210413ff..2348bfa594fe4 100644
--- a/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
+++ b/llvm/lib/CodeGen/ReachingDefAnalysis.cpp
@@ -134,9 +134,9 @@ void ReachingDefInfo::enterBasicBlock(MachineBasicBlock *MBB) {
         // Treat function live-ins as if they were defined just before the first
         // instruction.  Usually, function arguments are set up immediately
         // before the call.
-        if (LiveRegs[static_cast<unsigned>(Unit)] != -1) {
-          LiveRegs[static_cast<unsigned>(Unit)] = -1;
-          MBBReachingDefs.append(MBBNumber, Unit, -1);
+        if (LiveRegs[static_cast<unsigned>(Unit)] != FunctionLiveIn) {
+          LiveRegs[static_cast<unsigned>(Unit)] = FunctionLiveIn;
+          MBBReachingDefs.append(MBBNumber, Unit, FunctionLiveIn);
         }
       }
     }



More information about the llvm-commits mailing list