summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-02-28 20:29:36 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-02-28 20:29:36 +0000
commitb1cdb60e75601e8d7e1c5d96e3702e8d32e9bb19 (patch)
tree89de0ab60a6c4e4a0fa2fd216fd7ebc5c279804e /llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
parent2dfe49a44155f0bd1d4819eb7e06488c6ec00bab (diff)
downloadbcm5719-llvm-b1cdb60e75601e8d7e1c5d96e3702e8d32e9bb19.tar.gz
bcm5719-llvm-b1cdb60e75601e8d7e1c5d96e3702e8d32e9bb19.zip
[Hexagon] Implement target feature +reserved-r19
llvm-svn: 326364
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
index 9c16b77a90d..3754a04f501 100644
--- a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
@@ -171,6 +171,9 @@ BitVector HexagonRegisterInfo::getReservedRegs(const MachineFunction &MF)
Reserved.set(Hexagon::C8);
Reserved.set(Hexagon::USR_OVF);
+ if (MF.getSubtarget<HexagonSubtarget>().hasReservedR19())
+ Reserved.set(Hexagon::R19);
+
for (int x = Reserved.find_first(); x >= 0; x = Reserved.find_next(x))
markSuperRegs(Reserved, x);
OpenPOWER on IntegriCloud