diff --git a/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp b/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp index c30372fed1832..dc2584645b314 100644 --- a/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp @@ -176,6 +176,11 @@ void NVPTXRegisterInfo::addToDebugRegisterMap( int64_t NVPTXRegisterInfo::getDwarfRegNum(MCRegister RegNum, bool isEH) const { if (Register::isPhysicalRegister(RegNum)) { std::string name = NVPTXInstPrinter::getRegisterName(RegNum.id()); + // In NVPTXFrameLowering.cpp, we do arrange for %Depot to be accessible from + // %SP. Using the %Depot register doesn't provide any debug info in + // cuda-gdb, but switching it to %SP does. + if (RegNum.id() == NVPTX::VRDepot) + name = "%SP"; return encodeRegisterForDwarf(name); } uint64_t lookup = debugRegisterMap.lookup(RegNum.id());