diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-02-12 17:01:51 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2016-02-12 17:01:51 +0000 |
commit | 7d5b4db7f9d1572c366ed7714fdb2fec5e08e503 (patch) | |
tree | b424e702526e2831d8ba98c86719af4bf8a64484 /llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp | |
parent | c25d3bd23860ced4c9bcff5667f9c5bba8e8fe02 (diff) | |
download | bcm5719-llvm-7d5b4db7f9d1572c366ed7714fdb2fec5e08e503.tar.gz bcm5719-llvm-7d5b4db7f9d1572c366ed7714fdb2fec5e08e503.zip |
[Hexagon] Eliminate pseudo instructions for circ/brev loads and stores
We can generate the actual instructions from the intrinsics without the
need for pseudo-instructions. Also, since the intrinsics have a side-
effect in a form of a store, attempt to optimize away loads from the
store location.
llvm-svn: 260690
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp index 94ce0ddfbd0..d0be2855ce3 100644 --- a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp +++ b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp @@ -103,13 +103,16 @@ BitVector HexagonRegisterInfo::getReservedRegs(const MachineFunction &MF) Reserved.set(Hexagon::R30); Reserved.set(Hexagon::R31); Reserved.set(Hexagon::PC); - Reserved.set(Hexagon::GP); Reserved.set(Hexagon::D14); Reserved.set(Hexagon::D15); Reserved.set(Hexagon::LC0); Reserved.set(Hexagon::LC1); Reserved.set(Hexagon::SA0); Reserved.set(Hexagon::SA1); + Reserved.set(Hexagon::GP); + Reserved.set(Hexagon::CS0); + Reserved.set(Hexagon::CS1); + Reserved.set(Hexagon::CS); return Reserved; } |