aboutsummaryrefslogtreecommitdiff
path: root/llvm/include/llvm/CodeGen/TargetRegisterInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/CodeGen/TargetRegisterInfo.h')
-rw-r--r--llvm/include/llvm/CodeGen/TargetRegisterInfo.h7
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;
+ }
};
//===----------------------------------------------------------------------===//