diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-02-16 20:25:23 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-02-16 20:25:23 +0000 |
commit | fb9503c08019653afa888d02e7f45ec25145b3c7 (patch) | |
tree | d13162b2eb6b1e5bcbacecea5215af64fc7b086e /llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp | |
parent | c4c31e2020a7ad36f055a668eca10902e1d724e9 (diff) | |
download | bcm5719-llvm-fb9503c08019653afa888d02e7f45ec25145b3c7.tar.gz bcm5719-llvm-fb9503c08019653afa888d02e7f45ec25145b3c7.zip |
[Hexagon] Start using regmasks on calls
All the cool targets are doing it...
llvm-svn: 295371
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp index 42568db4a13..a6af751d5f5 100644 --- a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp +++ b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp @@ -36,6 +36,9 @@ #include "llvm/Target/TargetMachine.h" #include "llvm/Target/TargetOptions.h" +#define GET_REGINFO_TARGET_DESC +#include "HexagonGenRegisterInfo.inc" + using namespace llvm; HexagonRegisterInfo::HexagonRegisterInfo() @@ -134,6 +137,12 @@ HexagonRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const { } +const uint32_t *HexagonRegisterInfo::getCallPreservedMask( + const MachineFunction &MF, CallingConv::ID) const { + return HexagonCSR_RegMask; +} + + BitVector HexagonRegisterInfo::getReservedRegs(const MachineFunction &MF) const { BitVector Reserved(getNumRegs()); @@ -284,6 +293,3 @@ unsigned HexagonRegisterInfo::getFirstCallerSavedNonParamReg() const { return Hexagon::R6; } - -#define GET_REGINFO_TARGET_DESC -#include "HexagonGenRegisterInfo.inc" |