summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-05-02 18:03:08 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-05-02 18:03:08 +0000
commitb0af1ef7413c801828d48366155320ed4735fe7e (patch)
tree07fefd2bbd752bb82a8ccada9baba14a9bc47dc6 /llvm/lib/Target
parent9ac7d6be3c4a3426d4b0a0f75a1d27f80d6ed304 (diff)
downloadbcm5719-llvm-b0af1ef7413c801828d48366155320ed4735fe7e.tar.gz
bcm5719-llvm-b0af1ef7413c801828d48366155320ed4735fe7e.zip
[Hexagon] Make sure duplexed dealloc_returns are checked for double jumps
Patch by Colin LeMahieu. llvm-svn: 301951
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
index 4844862e6d1..2a3af20b35f 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp
@@ -336,6 +336,14 @@ bool HexagonShuffler::check() {
++jumps;
foundBranches.push_back(ISJ);
}
+ if (HexagonMCInstrInfo::getDesc(MCII, Inst0).isReturn()) {
+ ++deallocs, ++jumps, ++jump1; // DEALLOC_RETURN is of type LD.
+ foundBranches.push_back(ISJ);
+ }
+ if (HexagonMCInstrInfo::getDesc(MCII, Inst1).isReturn()) {
+ ++deallocs, ++jumps, ++jump1; // DEALLOC_RETURN is of type LD.
+ foundBranches.push_back(ISJ);
+ }
break;
}
}
OpenPOWER on IntegriCloud