diff options
| author | Chad Rosier <mcrosier@codeaurora.org> | 2015-08-18 16:20:03 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@codeaurora.org> | 2015-08-18 16:20:03 +0000 |
| commit | 3dd0e942b65c7cab4d532d6ad4fb628973c3a528 (patch) | |
| tree | 57a834bd4e8e34cf640c6697077fe76e9bfab2b3 | |
| parent | 63f4a5dcad0854b4a712e63f1c72a11054fb8973 (diff) | |
| download | bcm5719-llvm-3dd0e942b65c7cab4d532d6ad4fb628973c3a528.tar.gz bcm5719-llvm-3dd0e942b65c7cab4d532d6ad4fb628973c3a528.zip | |
[AArch64] Simplify the logic for computing in bounds offset. NFC.
llvm-svn: 245307
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp index b84eb36dc22..b67d2e2acf9 100644 --- a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp @@ -492,16 +492,12 @@ static void trackRegDefsUses(const MachineInstr *MI, BitVector &ModifiedRegs, } static bool inBoundsForPair(bool IsUnscaled, int Offset, int OffsetStride) { - if (!IsUnscaled && (Offset > 63 || Offset < -64)) - return false; - if (IsUnscaled) { - // Convert the byte-offset used by unscaled into an "element" offset used - // by the scaled pair load/store instructions. - int ElemOffset = Offset / OffsetStride; - if (ElemOffset > 63 || ElemOffset < -64) - return false; - } - return true; + // Convert the byte-offset used by unscaled into an "element" offset used + // by the scaled pair load/store instructions. + if (IsUnscaled) + Offset /= OffsetStride; + + return Offset <= 63 && Offset >= -64; } // Do alignment, specialized to power of 2 and for signed ints, |

