diff options
Diffstat (limited to 'llvm/include/llvm/CodeGen/TargetRegisterInfo.h')
-rw-r--r-- | llvm/include/llvm/CodeGen/TargetRegisterInfo.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/TargetRegisterInfo.h b/llvm/include/llvm/CodeGen/TargetRegisterInfo.h index 8483d078ca74..c3b842052ef5 100644 --- a/llvm/include/llvm/CodeGen/TargetRegisterInfo.h +++ b/llvm/include/llvm/CodeGen/TargetRegisterInfo.h @@ -1094,6 +1094,13 @@ public: inline MCRegister getSubReg(MCRegister Reg, unsigned Idx) const { return static_cast<const MCRegisterInfo *>(this)->getSubReg(Reg, Idx); } + + /// Some targets have non-allocatable registers that aren't technically part + /// of the explicit callee saved register list, but should be handled as such + /// in certain cases. + virtual bool isNonallocatableRegisterCalleeSave(MCRegister Reg) const { + return false; + } }; //===----------------------------------------------------------------------===// |