https://github.com/tomershafir updated 
https://github.com/llvm/llvm-project/pull/148428

>From 9efe85048c2f68b724949172898fb4880ad8b4a4 Mon Sep 17 00:00:00 2001
From: tomershafir <tomer.shaf...@gmail.com>
Date: Tue, 15 Jul 2025 12:39:26 +0300
Subject: [PATCH 1/3] git log

Created using spr 1.3.6
---
 llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp 
b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
index d87f91d0fcc91..b9a17df297e14 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
@@ -678,10 +678,10 @@ bool AArch64Subtarget::isRegInClass(const MachineInstr 
*MI, const Register &Reg,
                                     const TargetRegisterClass *TRC) const {
   if (Reg.isPhysical()) {
     return TRC->contains(Reg);
-  } else {
-    const MachineRegisterInfo &MRI = MI->getMF()->getRegInfo();
-    return TRC->hasSubClassEq(MRI.getRegClass(Reg));
   }
+  
+  const MachineRegisterInfo &MRI = MI->getMF()->getRegInfo();
+  return TRC->hasSubClassEq(MRI.getRegClass(Reg));
 }
 
 /// NOTE: must maintain consistency with `AArch64InstrInfo::copyPhysReg`.

>From 087cb19a09c3da5022a87e9d99d5c54d4e9b1db8 Mon Sep 17 00:00:00 2001
From: tomershafir <tomer.shaf...@gmail.com>
Date: Tue, 15 Jul 2025 12:44:49 +0300
Subject: [PATCH 2/3] remove redundant else block

Created using spr 1.3.6
---
 llvm/lib/Target/AArch64/AArch64Subtarget.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp 
b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
index b9a17df297e14..86b17ed787432 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
@@ -679,7 +679,6 @@ bool AArch64Subtarget::isRegInClass(const MachineInstr *MI, 
const Register &Reg,
   if (Reg.isPhysical()) {
     return TRC->contains(Reg);
   }
-  
   const MachineRegisterInfo &MRI = MI->getMF()->getRegInfo();
   return TRC->hasSubClassEq(MRI.getRegClass(Reg));
 }

>From f286dd5d1f0abaa275408bb2db33f798ffeb828a Mon Sep 17 00:00:00 2001
From: tomershafir <tomer.shaf...@gmail.com>
Date: Tue, 15 Jul 2025 19:06:21 +0300
Subject: [PATCH 3/3] change MI type from pointer to reference

Created using spr 1.3.6
---
 llvm/include/llvm/CodeGen/TargetSubtargetInfo.h | 4 ++--
 llvm/lib/Target/AArch64/AArch64Subtarget.cpp    | 8 ++++----
 llvm/lib/Target/AArch64/AArch64Subtarget.h      | 6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h 
b/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
index c5a7ed19d54dd..ed298f92ef757 100644
--- a/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
+++ b/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
@@ -200,7 +200,7 @@ class LLVM_ABI TargetSubtargetInfo : public MCSubtargetInfo 
{
   ///
   /// NOTE: Subtargets must maintain consistency between the logic here and
   /// on lowering.
-  virtual bool canLowerToZeroCycleRegMove(const MachineInstr *CopyMI,
+  virtual bool canLowerToZeroCycleRegMove(const MachineInstr &CopyMI,
                                           const Register &DestReg,
                                           const Register &SrcReg) const {
     return false;
@@ -221,7 +221,7 @@ class LLVM_ABI TargetSubtargetInfo : public MCSubtargetInfo 
{
   ///
   /// NOTE: Subtargets must maintain consistency between the logic here and
   /// on lowering.
-  virtual bool canLowerToZeroCycleRegZeroing(const MachineInstr *CopyMI,
+  virtual bool canLowerToZeroCycleRegZeroing(const MachineInstr &CopyMI,
                                              const Register &DestReg,
                                              const Register &SrcReg) const {
     return false;
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp 
b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
index 86b17ed787432..e562f360d7bd5 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.cpp
@@ -674,18 +674,18 @@ bool AArch64Subtarget::enableMachinePipeliner() const {
   return getSchedModel().hasInstrSchedModel();
 }
 
-bool AArch64Subtarget::isRegInClass(const MachineInstr *MI, const Register 
&Reg,
+bool AArch64Subtarget::isRegInClass(const MachineInstr &MI, const Register 
&Reg,
                                     const TargetRegisterClass *TRC) const {
   if (Reg.isPhysical()) {
     return TRC->contains(Reg);
   }
-  const MachineRegisterInfo &MRI = MI->getMF()->getRegInfo();
+  const MachineRegisterInfo &MRI = MI.getMF()->getRegInfo();
   return TRC->hasSubClassEq(MRI.getRegClass(Reg));
 }
 
 /// NOTE: must maintain consistency with `AArch64InstrInfo::copyPhysReg`.
 bool AArch64Subtarget::canLowerToZeroCycleRegMove(
-    const MachineInstr *CopyMI, const Register &DestReg,
+    const MachineInstr &CopyMI, const Register &DestReg,
     const Register &SrcReg) const {
   if (isRegInClass(CopyMI, DestReg, &AArch64::GPR32allRegClass) &&
       isRegInClass(CopyMI, SrcReg, &AArch64::GPR32allRegClass) &&
@@ -737,7 +737,7 @@ bool AArch64Subtarget::canLowerToZeroCycleRegMove(
 
 /// NOTE: must maintain consistency with `AArch64InstrInfo::copyPhysReg`.
 bool AArch64Subtarget::canLowerToZeroCycleRegZeroing(
-    const MachineInstr *CopyMI, const Register &DestReg,
+    const MachineInstr &CopyMI, const Register &DestReg,
     const Register &SrcReg) const {
   if (isRegInClass(CopyMI, DestReg, &AArch64::GPR32allRegClass) &&
       isRegInClass(CopyMI, SrcReg, &AArch64::GPR32allRegClass) &&
diff --git a/llvm/lib/Target/AArch64/AArch64Subtarget.h 
b/llvm/lib/Target/AArch64/AArch64Subtarget.h
index 638febd1cd3d1..3ef0a6727c90e 100644
--- a/llvm/lib/Target/AArch64/AArch64Subtarget.h
+++ b/llvm/lib/Target/AArch64/AArch64Subtarget.h
@@ -123,7 +123,7 @@ class AArch64Subtarget final : public 
AArch64GenSubtargetInfo {
   /// Returns true if Reg is virtual and is assigned to,
   /// or is physcial and is a member of, the TRC register class.
   /// Otherwise, returns false.
-  bool isRegInClass(const MachineInstr *MI, const Register &Reg,
+  bool isRegInClass(const MachineInstr &MI, const Register &Reg,
                     const TargetRegisterClass *TRC) const;
 
 public:
@@ -169,10 +169,10 @@ class AArch64Subtarget final : public 
AArch64GenSubtargetInfo {
   bool enableMachinePipeliner() const override;
   bool useDFAforSMS() const override { return false; }
 
-  bool canLowerToZeroCycleRegMove(const MachineInstr *CopyMI,
+  bool canLowerToZeroCycleRegMove(const MachineInstr &CopyMI,
                                   const Register &DestReg,
                                   const Register &SrcReg) const override;
-  bool canLowerToZeroCycleRegZeroing(const MachineInstr *CopyMI,
+  bool canLowerToZeroCycleRegZeroing(const MachineInstr &CopyMI,
                                      const Register &DestReg,
                                      const Register &SrcReg) const override;
 

_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to