[Hexagon] Implement undoing .cur instructions in packetizer
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 3 May 2017 15:28:56 +0000 (15:28 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 3 May 2017 15:28:56 +0000 (15:28 +0000)
commit0a8043e1b305ef9acfbca895ec805e4d92696eb3
tree87f704f77938f41887b0233c21abb2ad95cab269
parentd8844b9d438e17304bcb28e3245adfa57c710097
[Hexagon] Implement undoing .cur instructions in packetizer

The packetizer needs to convert .cur instruction to its regular form if
the use is not in the same packet as the .cur. The code in the packetizer
handles one type of .cur, which is the vector load case. This patch
updates the packetizer so that it can undo all the .cur instructions.
In the test case, the .cur is the 128B version, but there are also the
post-increment versions.

Patch by Brendon Cahoon.

llvm-svn: 302032
llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
llvm/lib/Target/Hexagon/HexagonInstrInfo.h
llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp