[llvm] [MachineLateInstrsCleanup] Minor fixing (NFC). (PR #117816)

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 26 16:36:25 PST 2024


https://github.com/JonPsson1 updated https://github.com/llvm/llvm-project/pull/117816

>From 253eb29c591a6a30be6fd249d7a0f0d912da5add Mon Sep 17 00:00:00 2001
From: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: Tue, 26 Nov 2024 14:43:22 -0600
Subject: [PATCH] Update comment and remove unused parameter.

---
 llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp b/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
index 14a49853f68b8e..6399e8a9523685 100644
--- a/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
+++ b/llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
@@ -57,7 +57,6 @@ class MachineLateInstrsCleanup : public MachineFunctionPass {
 
   void removeRedundantDef(MachineInstr *MI);
   void clearKillsForDef(Register Reg, MachineBasicBlock *MBB,
-                        MachineBasicBlock::iterator I,
                         BitVector &VisitedPreds);
 
 public:
@@ -110,14 +109,11 @@ bool MachineLateInstrsCleanup::runOnMachineFunction(MachineFunction &MF) {
   return Changed;
 }
 
-// Clear any previous kill flag on Reg found before I in MBB. Walk backwards
-// in MBB and if needed continue in predecessors until a use/def of Reg is
-// encountered. This seems to be faster in practice than tracking kill flags
-// in a map.
-void MachineLateInstrsCleanup::
-clearKillsForDef(Register Reg, MachineBasicBlock *MBB,
-                 MachineBasicBlock::iterator I,
-                 BitVector &VisitedPreds) {
+// Clear any preceding kill flag on Reg after removing a redundant
+// definition.
+void MachineLateInstrsCleanup::clearKillsForDef(Register Reg,
+                                                MachineBasicBlock *MBB,
+                                                BitVector &VisitedPreds) {
   VisitedPreds.set(MBB->getNumber());
 
   // Kill flag in MBB
@@ -137,13 +133,13 @@ clearKillsForDef(Register Reg, MachineBasicBlock *MBB,
   assert(!MBB->pred_empty() && "Predecessor def not found!");
   for (MachineBasicBlock *Pred : MBB->predecessors())
     if (!VisitedPreds.test(Pred->getNumber()))
-      clearKillsForDef(Reg, Pred, Pred->end(), VisitedPreds);
+      clearKillsForDef(Reg, Pred, VisitedPreds);
 }
 
 void MachineLateInstrsCleanup::removeRedundantDef(MachineInstr *MI) {
   Register Reg = MI->getOperand(0).getReg();
   BitVector VisitedPreds(MI->getMF()->getNumBlockIDs());
-  clearKillsForDef(Reg, MI->getParent(), MI->getIterator(), VisitedPreds);
+  clearKillsForDef(Reg, MI->getParent(), VisitedPreds);
   MI->eraseFromParent();
   ++NumRemoved;
 }



More information about the llvm-commits mailing list