diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp index a6a01479b5b18..4700a984770bf 100644 --- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp +++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp @@ -70,7 +70,7 @@ static MCRegisterInfo *createAMDGPUMCRegisterInfo(const Triple &TT) { MCRegisterInfo *llvm::createGCNMCRegisterInfo(AMDGPUDwarfFlavour DwarfFlavour) { MCRegisterInfo *X = new MCRegisterInfo(); - InitAMDGPUMCRegisterInfo(X, AMDGPU::PC_REG, DwarfFlavour); + InitAMDGPUMCRegisterInfo(X, AMDGPU::PC_REG, DwarfFlavour, DwarfFlavour); return X; } diff --git a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp index 3664535b32599..5c64c6bcd1968 100644 --- a/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp +++ b/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp @@ -318,8 +318,9 @@ struct SGPRSpillBuilder { } // namespace llvm SIRegisterInfo::SIRegisterInfo(const GCNSubtarget &ST) - : AMDGPUGenRegisterInfo(AMDGPU::PC_REG, ST.getAMDGPUDwarfFlavour()), ST(ST), - SpillSGPRToVGPR(EnableSpillSGPRToVGPR), isWave32(ST.isWave32()) { + : AMDGPUGenRegisterInfo(AMDGPU::PC_REG, ST.getAMDGPUDwarfFlavour(), + ST.getAMDGPUDwarfFlavour()), + ST(ST), SpillSGPRToVGPR(EnableSpillSGPRToVGPR), isWave32(ST.isWave32()) { assert(getSubRegIndexLaneMask(AMDGPU::sub0).getAsInteger() == 3 && getSubRegIndexLaneMask(AMDGPU::sub31).getAsInteger() == (3ULL << 62) && diff --git a/llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp b/llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp index e1acb8677a046..7f7a3720cf7ce 100644 --- a/llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp +++ b/llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp @@ -55,6 +55,7 @@ TEST(AMDGPUDwarfRegMappingTests, TestWave64DwarfRegMapping) { for (int llvmReg : {16, 17, 32, 95, 1088, 1129, 2560, 2815, 3072, 3327}) { MCRegister PCReg(*MRI->getLLVMRegNum(llvmReg, false)); EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, false)); + EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, true)); } } } @@ -73,6 +74,7 @@ TEST(AMDGPUDwarfRegMappingTests, TestWave32DwarfRegMapping) { for (int llvmReg : {16, 1, 32, 95, 1088, 1129, 1536, 1791, 2048, 2303}) { MCRegister PCReg(*MRI->getLLVMRegNum(llvmReg, false)); EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, false)); + EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, true)); } } } diff --git a/llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp b/llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp index 620835c5dfc5c..56da4ce7b43af 100644 --- a/llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp +++ b/llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp @@ -29,6 +29,7 @@ TEST(AMDGPU, TestWave64DwarfRegMapping) { {16, 17, 32, 95, 1088, 1129, 2560, 2815, 3072, 3327}) { MCRegister PCReg(*MRI->getLLVMRegNum(llvmReg, false)); EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, false)); + EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, true)); } } } @@ -52,6 +53,7 @@ TEST(AMDGPU, TestWave32DwarfRegMapping) { {16, 1, 32, 95, 1088, 1129, 1536, 1791, 2048, 2303}) { MCRegister PCReg(*MRI->getLLVMRegNum(llvmReg, false)); EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, false)); + EXPECT_EQ(llvmReg, MRI->getDwarfRegNum(PCReg, true)); } } }