diff --git a/llvm/lib/CodeGen/CFIInstrInserter.cpp b/llvm/lib/CodeGen/CFIInstrInserter.cpp index 6a024287f0028..87b062a16df1d 100644 --- a/llvm/lib/CodeGen/CFIInstrInserter.cpp +++ b/llvm/lib/CodeGen/CFIInstrInserter.cpp @@ -151,7 +151,7 @@ void CFIInstrInserter::calculateCFAInfo(MachineFunction &MF) { Register InitialRegister = MF.getSubtarget().getFrameLowering()->getInitialCFARegister(MF); InitialRegister = TRI.getDwarfRegNum(InitialRegister, true); - unsigned NumRegs = TRI.getNumRegs(); + unsigned NumRegs = TRI.getNumSupportedRegs(MF); // Initialize MBBMap. for (MachineBasicBlock &MBB : MF) { @@ -181,7 +181,7 @@ void CFIInstrInserter::calculateOutgoingCFAInfo(MBBCFAInfo &MBBInfo) { MachineFunction *MF = MBBInfo.MBB->getParent(); const std::vector &Instrs = MF->getFrameInstructions(); const TargetRegisterInfo &TRI = *MF->getSubtarget().getRegisterInfo(); - unsigned NumRegs = TRI.getNumRegs(); + unsigned NumRegs = TRI.getNumSupportedRegs(*MF); BitVector CSRSaved(NumRegs), CSRRestored(NumRegs); // Determine cfa offset and register set by the block.