[Hexagon] Use constant extenders to fix up hardware loops
authorBrendon Cahoon <bcahoon@codeaurora.org>
Mon, 27 Apr 2015 14:16:43 +0000 (14:16 +0000)
committerBrendon Cahoon <bcahoon@codeaurora.org>
Mon, 27 Apr 2015 14:16:43 +0000 (14:16 +0000)
commit2afd045e031f104b3feb0b8fb8aa8733ccc8256b
tree64fbcee45771ba1b2adde3b8f22b5968ed80bd81
parentaf3ec2cfd49fcde2a8ba44e2bd1557bc8d2adab8
[Hexagon] Use constant extenders to fix up hardware loops

Use a loop instruction with a constant extender for a hardware
loop instruction that is too far away from the start of the loop.
This is cheaper than changing the SA register value.

Differential Revision: http://reviews.llvm.org/D9262

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235882 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Hexagon/HexagonFixupHwLoops.cpp
lib/Target/Hexagon/HexagonInstrInfo.cpp
lib/Target/Hexagon/HexagonInstrInfo.h
lib/Target/Hexagon/HexagonOperands.td
lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
test/CodeGen/Hexagon/hwloop-range.ll [new file with mode: 0644]