Skip to content

Commit 7dece2f

Browse files
committed
AMDGPU: Use Register
1 parent 704293b commit 7dece2f

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,7 +2933,7 @@ AMDGPUInstructionSelector::selectSmrdImm32(MachineOperand &Root) const {
29332933
return None;
29342934

29352935
const GEPInfo &GEPInfo = AddrInfo[0];
2936-
unsigned PtrReg = GEPInfo.SgprParts[0];
2936+
Register PtrReg = GEPInfo.SgprParts[0];
29372937
Optional<int64_t> EncodedImm =
29382938
AMDGPU::getSMRDEncodedLiteralOffset32(STI, GEPInfo.Imm);
29392939
if (!EncodedImm)
@@ -2967,7 +2967,7 @@ AMDGPUInstructionSelector::selectSmrdSgpr(MachineOperand &Root) const {
29672967
// It is OK to select this using a sgpr offset, because we have already
29682968
// failed trying to select this load into one of the _IMM variants since
29692969
// the _IMM Patterns are considered before the _SGPR patterns.
2970-
unsigned PtrReg = GEPInfo.SgprParts[0];
2970+
Register PtrReg = GEPInfo.SgprParts[0];
29712971
Register OffsetReg = MRI->createVirtualRegister(&AMDGPU::SReg_32RegClass);
29722972
BuildMI(*MBB, MI, MI->getDebugLoc(), TII.get(AMDGPU::S_MOV_B32), OffsetReg)
29732973
.addImm(GEPInfo.Imm);

llvm/lib/Target/AMDGPU/SIFrameLowering.cpp

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ static ArrayRef<MCPhysReg> getAllSGPR128(const GCNSubtarget &ST,
4141
// but we would then have to make sure that we were in fact saving at least one
4242
// callee-save register in the prologue, which is additional complexity that
4343
// doesn't seem worth the benefit.
44-
static unsigned findScratchNonCalleeSaveRegister(MachineRegisterInfo &MRI,
45-
LivePhysRegs &LiveRegs,
46-
const TargetRegisterClass &RC,
47-
bool Unused = false) {
44+
static MCRegister findScratchNonCalleeSaveRegister(MachineRegisterInfo &MRI,
45+
LivePhysRegs &LiveRegs,
46+
const TargetRegisterClass &RC,
47+
bool Unused = false) {
4848
// Mark callee saved registers as used so we will not choose them.
4949
const MCPhysReg *CSRegs = MRI.getCalleeSavedRegs();
5050
for (unsigned i = 0; CSRegs[i]; ++i)
@@ -53,12 +53,12 @@ static unsigned findScratchNonCalleeSaveRegister(MachineRegisterInfo &MRI,
5353
if (Unused) {
5454
// We are looking for a register that can be used throughout the entire
5555
// function, so any use is unacceptable.
56-
for (unsigned Reg : RC) {
56+
for (MCRegister Reg : RC) {
5757
if (!MRI.isPhysRegUsed(Reg) && LiveRegs.available(MRI, Reg))
5858
return Reg;
5959
}
6060
} else {
61-
for (unsigned Reg : RC) {
61+
for (MCRegister Reg : RC) {
6262
if (LiveRegs.available(MRI, Reg))
6363
return Reg;
6464
}
@@ -70,7 +70,7 @@ static unsigned findScratchNonCalleeSaveRegister(MachineRegisterInfo &MRI,
7070
if (!Unused)
7171
report_fatal_error("failed to find free scratch register");
7272

73-
return AMDGPU::NoRegister;
73+
return MCRegister();
7474
}
7575

7676
static MCPhysReg findUnusedSGPRNonCalleeSaved(MachineRegisterInfo &MRI) {
@@ -85,8 +85,8 @@ static MCPhysReg findUnusedSGPRNonCalleeSaved(MachineRegisterInfo &MRI) {
8585
// use.
8686
static void buildPrologSpill(LivePhysRegs &LiveRegs, MachineBasicBlock &MBB,
8787
MachineBasicBlock::iterator I,
88-
const SIInstrInfo *TII, unsigned SpillReg,
89-
unsigned ScratchRsrcReg, unsigned SPReg, int FI) {
88+
const SIInstrInfo *TII, Register SpillReg,
89+
Register ScratchRsrcReg, Register SPReg, int FI) {
9090
MachineFunction *MF = MBB.getParent();
9191
MachineFrameInfo &MFI = MF->getFrameInfo();
9292

@@ -133,8 +133,8 @@ static void buildPrologSpill(LivePhysRegs &LiveRegs, MachineBasicBlock &MBB,
133133

134134
static void buildEpilogReload(LivePhysRegs &LiveRegs, MachineBasicBlock &MBB,
135135
MachineBasicBlock::iterator I,
136-
const SIInstrInfo *TII, unsigned SpillReg,
137-
unsigned ScratchRsrcReg, unsigned SPReg, int FI) {
136+
const SIInstrInfo *TII, Register SpillReg,
137+
Register ScratchRsrcReg, Register SPReg, int FI) {
138138
MachineFunction *MF = MBB.getParent();
139139
MachineFrameInfo &MFI = MF->getFrameInfo();
140140
int64_t Offset = MFI.getObjectOffset(FI);
@@ -595,8 +595,8 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
595595
const SIInstrInfo *TII = ST.getInstrInfo();
596596
const SIRegisterInfo &TRI = TII->getRegisterInfo();
597597

598-
unsigned StackPtrReg = FuncInfo->getStackPtrOffsetReg();
599-
unsigned FramePtrReg = FuncInfo->getFrameOffsetReg();
598+
Register StackPtrReg = FuncInfo->getStackPtrOffsetReg();
599+
Register FramePtrReg = FuncInfo->getFrameOffsetReg();
600600
LivePhysRegs LiveRegs;
601601

602602
MachineBasicBlock::iterator MBBI = MBB.begin();
@@ -607,10 +607,10 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
607607
uint32_t RoundedSize = NumBytes;
608608
// To avoid clobbering VGPRs in lanes that weren't active on function entry,
609609
// turn on all lanes before doing the spill to memory.
610-
unsigned ScratchExecCopy = AMDGPU::NoRegister;
610+
Register ScratchExecCopy;
611611

612612
// Emit the copy if we need an FP, and are using a free SGPR to save it.
613-
if (FuncInfo->SGPRForFPSaveRestoreCopy != AMDGPU::NoRegister) {
613+
if (FuncInfo->SGPRForFPSaveRestoreCopy) {
614614
BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), FuncInfo->SGPRForFPSaveRestoreCopy)
615615
.addReg(FramePtrReg)
616616
.setMIFlag(MachineInstr::FrameSetup);
@@ -621,7 +621,7 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
621621
if (!Reg.FI.hasValue())
622622
continue;
623623

624-
if (ScratchExecCopy == AMDGPU::NoRegister) {
624+
if (!ScratchExecCopy) {
625625
if (LiveRegs.empty()) {
626626
LiveRegs.init(TRI);
627627
LiveRegs.addLiveIns(MBB);
@@ -650,7 +650,7 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
650650
if (ScratchExecCopy != AMDGPU::NoRegister) {
651651
// FIXME: Split block and make terminator.
652652
unsigned ExecMov = ST.isWave32() ? AMDGPU::S_MOV_B32 : AMDGPU::S_MOV_B64;
653-
unsigned Exec = ST.isWave32() ? AMDGPU::EXEC_LO : AMDGPU::EXEC;
653+
MCRegister Exec = ST.isWave32() ? AMDGPU::EXEC_LO : AMDGPU::EXEC;
654654
BuildMI(MBB, MBBI, DL, TII->get(ExecMov), Exec)
655655
.addReg(ScratchExecCopy, RegState::Kill);
656656
LiveRegs.addReg(ScratchExecCopy);
@@ -685,7 +685,7 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
685685
LiveRegs.addReg(FuncInfo->SGPRForFPSaveRestoreCopy);
686686
}
687687

688-
unsigned ScratchSPReg = findScratchNonCalleeSaveRegister(
688+
Register ScratchSPReg = findScratchNonCalleeSaveRegister(
689689
MRI, LiveRegs, AMDGPU::SReg_32_XM0RegClass);
690690
assert(ScratchSPReg != AMDGPU::NoRegister &&
691691
ScratchSPReg != FuncInfo->SGPRForFPSaveRestoreCopy);
@@ -718,11 +718,11 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
718718
.setMIFlag(MachineInstr::FrameSetup);
719719
}
720720

721-
assert((!HasFP || (FuncInfo->SGPRForFPSaveRestoreCopy != AMDGPU::NoRegister ||
721+
assert((!HasFP || (FuncInfo->SGPRForFPSaveRestoreCopy ||
722722
FuncInfo->FramePointerSaveIndex)) &&
723723
"Needed to save FP but didn't save it anywhere");
724724

725-
assert((HasFP || (FuncInfo->SGPRForFPSaveRestoreCopy == AMDGPU::NoRegister &&
725+
assert((HasFP || (!FuncInfo->SGPRForFPSaveRestoreCopy &&
726726
!FuncInfo->FramePointerSaveIndex)) &&
727727
"Saved FP but didn't need it");
728728
}
@@ -747,14 +747,14 @@ void SIFrameLowering::emitEpilogue(MachineFunction &MF,
747747
: NumBytes;
748748

749749
if (RoundedSize != 0 && hasFP(MF)) {
750-
const unsigned StackPtrReg = FuncInfo->getStackPtrOffsetReg();
750+
const Register StackPtrReg = FuncInfo->getStackPtrOffsetReg();
751751
BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::S_SUB_U32), StackPtrReg)
752752
.addReg(StackPtrReg)
753753
.addImm(RoundedSize * ST.getWavefrontSize())
754754
.setMIFlag(MachineInstr::FrameDestroy);
755755
}
756756

757-
if (FuncInfo->SGPRForFPSaveRestoreCopy != AMDGPU::NoRegister) {
757+
if (FuncInfo->SGPRForFPSaveRestoreCopy) {
758758
BuildMI(MBB, MBBI, DL, TII->get(AMDGPU::COPY), FuncInfo->getFrameOffsetReg())
759759
.addReg(FuncInfo->SGPRForFPSaveRestoreCopy)
760760
.setMIFlag(MachineInstr::FrameSetup);
@@ -775,7 +775,7 @@ void SIFrameLowering::emitEpilogue(MachineFunction &MF,
775775
.addImm(Spill[0].Lane);
776776
}
777777

778-
unsigned ScratchExecCopy = AMDGPU::NoRegister;
778+
Register ScratchExecCopy;
779779
for (const SIMachineFunctionInfo::SGPRSpillVGPRCSR &Reg
780780
: FuncInfo->getSGPRSpillVGPRs()) {
781781
if (!Reg.FI.hasValue())
@@ -1016,7 +1016,7 @@ MachineBasicBlock::iterator SIFrameLowering::eliminateCallFramePseudoInstr(
10161016
Amount = alignTo(Amount, getStackAlign());
10171017
assert(isUInt<32>(Amount) && "exceeded stack address space size");
10181018
const SIMachineFunctionInfo *MFI = MF.getInfo<SIMachineFunctionInfo>();
1019-
unsigned SPReg = MFI->getStackPtrOffsetReg();
1019+
Register SPReg = MFI->getStackPtrOffsetReg();
10201020

10211021
unsigned Op = IsDestroy ? AMDGPU::S_SUB_U32 : AMDGPU::S_ADD_U32;
10221022
BuildMI(MBB, I, DL, TII->get(Op), SPReg)

0 commit comments

Comments
 (0)