[llvm] [AMDGPU] Analyze REG_SEQUENCE To Remove Redundant CMP Instructions (PR #167364)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 10 10:45:04 PST 2025
================
@@ -1312,6 +1312,30 @@ Register SIInstrInfo::insertNE(MachineBasicBlock *MBB,
return Reg;
}
+MachineInstr *
+SIInstrInfo::pierceThroughRegSequence(const MachineInstr &MI) const {
+ if (MI.getOpcode() != AMDGPU::REG_SEQUENCE)
+ return nullptr;
+
+ const MachineRegisterInfo &MRI = MI.getParent()->getParent()->getRegInfo();
+ int64_t SubRegValues[2];
+ bool SubRegIsConst[2];
+ MachineInstr *RealDefs[2];
+ for (unsigned I : {2, 4}) {
+ unsigned ArrayIdx = MI.getOperand(I).getImm() == AMDGPU::sub0 ? 0 : 1;
+ Register Subreg = MI.getOperand(I - 1).getReg();
+ RealDefs[ArrayIdx] = MRI.getUniqueVRegDef(Subreg);
----------------
LU-JOHN wrote:
Since this is operating on SSA form, getVRegDef is better. Also, check if return value is null.
https://github.com/llvm/llvm-project/pull/167364
More information about the llvm-commits
mailing list