[llvm] [TRI][RISCV] Add methods to get common register class of two registers (PR #118435)
Pengcheng Wang via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 5 23:01:09 PST 2024
================
@@ -562,17 +562,11 @@ void RISCVInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
}
// VR->VR copies.
- static const TargetRegisterClass *RVVRegClasses[] = {
- &RISCV::VRRegClass, &RISCV::VRM2RegClass, &RISCV::VRM4RegClass,
- &RISCV::VRM8RegClass, &RISCV::VRN2M1RegClass, &RISCV::VRN2M2RegClass,
- &RISCV::VRN2M4RegClass, &RISCV::VRN3M1RegClass, &RISCV::VRN3M2RegClass,
- &RISCV::VRN4M1RegClass, &RISCV::VRN4M2RegClass, &RISCV::VRN5M1RegClass,
- &RISCV::VRN6M1RegClass, &RISCV::VRN7M1RegClass, &RISCV::VRN8M1RegClass};
- for (const auto &RegClass : RVVRegClasses) {
- if (RegClass->contains(DstReg, SrcReg)) {
- copyPhysRegVector(MBB, MBBI, DL, DstReg, SrcReg, KillSrc, RegClass);
- return;
- }
+ const TargetRegisterClass *RegClass =
+ TRI->getCommonMinimalPhysRegClass(SrcReg, DstReg);
----------------
wangpc-pp wrote:
Use TSFlags now.
https://github.com/llvm/llvm-project/pull/118435
More information about the llvm-commits
mailing list