[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)
commit55bdeb7bc783a48c9970a48949de10fb802cba96
tree588ea647197736699d58e3687197ccc933c3119a
parentd9d344b48584727c2690cce89f320ad0a09f659c
[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

llvm-svn: 235882
llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
llvm/lib/Target/Hexagon/HexagonInstrInfo.h
llvm/lib/Target/Hexagon/HexagonOperands.td
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h
llvm/test/CodeGen/Hexagon/hwloop-range.ll [new file with mode: 0644]