summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@codeaurora.org>2015-08-18 16:20:03 +0000
committerChad Rosier <mcrosier@codeaurora.org>2015-08-18 16:20:03 +0000
commit3dd0e942b65c7cab4d532d6ad4fb628973c3a528 (patch)
tree57a834bd4e8e34cf640c6697077fe76e9bfab2b3
parent63f4a5dcad0854b4a712e63f1c72a11054fb8973 (diff)
downloadbcm5719-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.cpp16
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,
OpenPOWER on IntegriCloud