diff options
author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2013-02-11 21:37:55 +0000 |
---|---|---|
committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2013-02-11 21:37:55 +0000 |
commit | 71490fa946f750fb3afe7228a32d31d401d4c1d8 (patch) | |
tree | 0dc802371b290171237831f9ff44d56a199619cf /lib/Target/Hexagon/HexagonInstrInfo.cpp | |
parent | 651fb490aeec67c391570cba2a9b184bf390e173 (diff) | |
download | external_llvm-71490fa946f750fb3afe7228a32d31d401d4c1d8.zip external_llvm-71490fa946f750fb3afe7228a32d31d401d4c1d8.tar.gz external_llvm-71490fa946f750fb3afe7228a32d31d401d4c1d8.tar.bz2 |
Extend Hexagon hardware loop generation to handle various additional cases:
- variety of compare instructions,
- loops with no preheader,
- arbitrary lower and upper bounds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174904 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Hexagon/HexagonInstrInfo.cpp')
-rw-r--r-- | lib/Target/Hexagon/HexagonInstrInfo.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Target/Hexagon/HexagonInstrInfo.cpp b/lib/Target/Hexagon/HexagonInstrInfo.cpp index c067465..ee37dea 100644 --- a/lib/Target/Hexagon/HexagonInstrInfo.cpp +++ b/lib/Target/Hexagon/HexagonInstrInfo.cpp @@ -2461,6 +2461,9 @@ isValidOffset(const int Opcode, const int Offset) const { case Hexagon::LDriw_pred: return true; + case Hexagon::LOOP0_i: + return isUInt<10>(Offset); + // INLINEASM is very special. case Hexagon::INLINEASM: return true; |