summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorGeoff Berry <gberry@codeaurora.org>2017-09-26 21:40:46 +0000
committerGeoff Berry <gberry@codeaurora.org>2017-09-26 21:40:46 +0000
commitbbfa246ad3c7c7bc7cf3184e64fbcc4fb483fe54 (patch)
tree690a645d230bd8db722f3c80d202a881c1f9531f /llvm/test
parenta4b2f5df5eabb86b54b9c4257660305d477a9aca (diff)
downloadbcm5719-llvm-bbfa246ad3c7c7bc7cf3184e64fbcc4fb483fe54.tar.gz
bcm5719-llvm-bbfa246ad3c7c7bc7cf3184e64fbcc4fb483fe54.zip
[AArch64][Falkor] Fix bug in falkor prefetcher fix pass.
Summary: In rare cases, loads that don't get prefetched that were marked as strided loads could cause a crash if they occurred in a loop with other colliding loads. Reviewers: mcrosier Subscribers: aemerson, rengolin, javed.absar, kristof.beyls Differential Revision: https://reviews.llvm.org/D38261 llvm-svn: 314252
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir25
1 files changed, 25 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir b/llvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir
index 298e8a0c6d7..70da36cdb89 100644
--- a/llvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir
+++ b/llvm/test/CodeGen/AArch64/falkor-hwpf-fix.mir
@@ -305,3 +305,28 @@ body: |
bb.1:
RET_ReallyLR
...
+---
+# Check that we handle case of strided load with no HW prefetcher tag correctly.
+
+# CHECK-LABEL: name: hwpf_notagbug
+# CHECK-NOT: ORRXrs %xzr
+# CHECK: LDARW %x1
+# CHECK-NOT: ORRXrs %xzr
+# CHECK: LDRWui %x1
+name: hwpf_notagbug
+tracksRegLiveness: true
+body: |
+ bb.0:
+ liveins: %w0, %x1, %x17
+
+ %w1 = LDARW %x1 :: ("aarch64-strided-access" load 4)
+ %w1 = LDRWui %x1, 0 :: ("aarch64-strided-access" load 4)
+ %w17 = LDRWui %x17, 0 :: ("aarch64-strided-access" load 4)
+
+ %w0 = SUBWri %w0, 1, 0
+ %wzr = SUBSWri %w0, 0, 0, implicit-def %nzcv
+ Bcc 9, %bb.0, implicit %nzcv
+
+ bb.1:
+ RET_ReallyLR
+...
OpenPOWER on IntegriCloud