summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-08-11 21:14:25 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2016-08-11 21:14:25 +0000
commit1b689da04e3f8f2c83b1365853a8af39a27b30ea (patch)
tree0d052f52d100c26eb2b541f943a6f89589b43b27 /llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
parent3124181eefd3a5916221baf6a474db1957b70be5 (diff)
downloadbcm5719-llvm-1b689da04e3f8f2c83b1365853a8af39a27b30ea.tar.gz
bcm5719-llvm-1b689da04e3f8f2c83b1365853a8af39a27b30ea.zip
[Hexagon] Allow non-returning calls in hardware loops
llvm-svn: 278416
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
index 4e034a4945d..ec3a30f1f16 100644
--- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
@@ -2972,6 +2972,12 @@ bool HexagonInstrInfo::canExecuteInBundle(const MachineInstr &First,
}
+bool HexagonInstrInfo::doesNotReturn(const MachineInstr &CallMI) const {
+ unsigned Opc = CallMI.getOpcode();
+ return Opc == Hexagon::CALLv3nr || Opc == Hexagon::CALLRv3nr;
+}
+
+
bool HexagonInstrInfo::hasEHLabel(const MachineBasicBlock *B) const {
for (auto &I : *B)
if (I.isEHLabel())
OpenPOWER on IntegriCloud