summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp')
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp b/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
index 024e51e5f488..1e19ef4116c3 100644
--- a/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
@@ -36,6 +36,9 @@ void NVPTXFrameLowering::emitPrologue(MachineFunction &MF,
MachineInstr *MI = &MBB.front();
MachineRegisterInfo &MR = MF.getRegInfo();
+ const NVPTXRegisterInfo *NRI =
+ MF.getSubtarget<NVPTXSubtarget>().getRegisterInfo();
+
// This instruction really occurs before first instruction
// in the BB, so giving it no debug location.
DebugLoc dl = DebugLoc();
@@ -50,15 +53,15 @@ void NVPTXFrameLowering::emitPrologue(MachineFunction &MF,
(Is64Bit ? NVPTX::cvta_local_yes_64 : NVPTX::cvta_local_yes);
unsigned MovDepotOpcode =
(Is64Bit ? NVPTX::MOV_DEPOT_ADDR_64 : NVPTX::MOV_DEPOT_ADDR);
- if (!MR.use_empty(NVPTX::VRFrame)) {
+ if (!MR.use_empty(NRI->getFrameRegister(MF))) {
// If %SP is not used, do not bother emitting "cvta.local %SP, %SPL".
MI = BuildMI(MBB, MI, dl,
MF.getSubtarget().getInstrInfo()->get(CvtaLocalOpcode),
- NVPTX::VRFrame)
- .addReg(NVPTX::VRFrameLocal);
+ NRI->getFrameRegister(MF))
+ .addReg(NRI->getFrameLocalRegister(MF));
}
BuildMI(MBB, MI, dl, MF.getSubtarget().getInstrInfo()->get(MovDepotOpcode),
- NVPTX::VRFrameLocal)
+ NRI->getFrameLocalRegister(MF))
.addImm(MF.getFunctionNumber());
}
}