[llvm] [RISCV] Factor out getKillRegState in copyPhysReg (NFC) (PR #146454)
Sudharsan Veeravalli via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 30 19:50:37 PDT 2025
https://github.com/svs-quic created https://github.com/llvm/llvm-project/pull/146454
This is used multiple times in the function.
>From e75732200e3700f6adccc41508ad48336bb9500e Mon Sep 17 00:00:00 2001
From: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: Tue, 1 Jul 2025 08:19:31 +0530
Subject: [PATCH] [RISCV] Factor out getKillRegState in copyPhysReg (NFC)
This is used multiple times in the function.
---
llvm/lib/Target/RISCV/RISCVInstrInfo.cpp | 34 +++++++++++-------------
1 file changed, 16 insertions(+), 18 deletions(-)
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
index 97247dc2068bc..a72bc416eba0b 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
@@ -513,26 +513,24 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
Register SrcReg, bool KillSrc,
bool RenamableDest, bool RenamableSrc) const {
const TargetRegisterInfo *TRI = STI.getRegisterInfo();
+ unsigned KillFlag = getKillRegState(KillSrc);
if (RISCV::GPRRegClass.contains(DstReg, SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::ADDI), DstReg)
- .addReg(SrcReg,
- getKillRegState(KillSrc) | getRenamableRegState(RenamableSrc))
+ .addReg(SrcReg, KillFlag | getRenamableRegState(RenamableSrc))
.addImm(0);
return;
}
if (RISCV::GPRF16RegClass.contains(DstReg, SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::PseudoMV_FPR16INX), DstReg)
- .addReg(SrcReg,
- getKillRegState(KillSrc) | getRenamableRegState(RenamableSrc));
+ .addReg(SrcReg, KillFlag | getRenamableRegState(RenamableSrc));
return;
}
if (RISCV::GPRF32RegClass.contains(DstReg, SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::PseudoMV_FPR32INX), DstReg)
- .addReg(SrcReg,
- getKillRegState(KillSrc) | getRenamableRegState(RenamableSrc));
+ .addReg(SrcReg, KillFlag | getRenamableRegState(RenamableSrc));
return;
}
@@ -547,11 +545,11 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
// Emit an ADDI for both parts of GPRPair.
BuildMI(MBB, MBBI, DL, get(RISCV::ADDI),
TRI->getSubReg(DstReg, RISCV::sub_gpr_even))
- .addReg(EvenReg, getKillRegState(KillSrc))
+ .addReg(EvenReg, KillFlag)
.addImm(0);
BuildMI(MBB, MBBI, DL, get(RISCV::ADDI),
TRI->getSubReg(DstReg, RISCV::sub_gpr_odd))
- .addReg(OddReg, getKillRegState(KillSrc))
+ .addReg(OddReg, KillFlag)
.addImm(0);
return;
}
@@ -581,36 +579,36 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
Opc = RISCV::FSGNJ_S;
}
BuildMI(MBB, MBBI, DL, get(Opc), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc))
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag)
+ .addReg(SrcReg, KillFlag);
return;
}
if (RISCV::FPR32RegClass.contains(DstReg, SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::FSGNJ_S), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc))
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag)
+ .addReg(SrcReg, KillFlag);
return;
}
if (RISCV::FPR64RegClass.contains(DstReg, SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::FSGNJ_D), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc))
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag)
+ .addReg(SrcReg, KillFlag);
return;
}
if (RISCV::FPR32RegClass.contains(DstReg) &&
RISCV::GPRRegClass.contains(SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::FMV_W_X), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag);
return;
}
if (RISCV::GPRRegClass.contains(DstReg) &&
RISCV::FPR32RegClass.contains(SrcReg)) {
BuildMI(MBB, MBBI, DL, get(RISCV::FMV_X_W), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag);
return;
}
@@ -618,7 +616,7 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
RISCV::GPRRegClass.contains(SrcReg)) {
assert(STI.getXLen() == 64 && "Unexpected GPR size");
BuildMI(MBB, MBBI, DL, get(RISCV::FMV_D_X), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag);
return;
}
@@ -626,7 +624,7 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
RISCV::FPR64RegClass.contains(SrcReg)) {
assert(STI.getXLen() == 64 && "Unexpected GPR size");
BuildMI(MBB, MBBI, DL, get(RISCV::FMV_X_D), DstReg)
- .addReg(SrcReg, getKillRegState(KillSrc));
+ .addReg(SrcReg, KillFlag);
return;
}
More information about the llvm-commits
mailing list