diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-05-02 18:03:08 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2017-05-02 18:03:08 +0000 |
commit | b0af1ef7413c801828d48366155320ed4735fe7e (patch) | |
tree | 07fefd2bbd752bb82a8ccada9baba14a9bc47dc6 /llvm/lib/Target | |
parent | 9ac7d6be3c4a3426d4b0a0f75a1d27f80d6ed304 (diff) | |
download | bcm5719-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.cpp | 8 |
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; } } |