[llvm] [AMDGPU] Save/Restore SCC bit across waterfall loop. (PR #68363)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 5 15:58:04 PDT 2023
================
@@ -6014,6 +6047,16 @@ loadMBUFScalarOperandsFromVGPR(const SIInstrInfo &TII, MachineInstr &MI,
unsigned MovExecOpc = ST.isWave32() ? AMDGPU::S_MOV_B32 : AMDGPU::S_MOV_B64;
const auto *BoolXExecRC = TRI->getRegClass(AMDGPU::SReg_1_XEXECRegClassID);
+ // Save SCC. Waterfall Loop may overwrite SCC.
+ Register SaveSCCReg;
+ bool SCCDefined = false;
+ if ((SCCDefined = TII.isSCCDefinedAndUsed(MBB, Begin, End))) {
+ SaveSCCReg = MRI.createVirtualRegister(
+ TRI->getRegClass(AMDGPU::SReg_1_XEXECRegClassID));
----------------
arsenm wrote:
copy should just happen to sreg_32
https://github.com/llvm/llvm-project/pull/68363
More information about the llvm-commits
mailing list