diff options
| author | Geoff Berry <gberry@codeaurora.org> | 2017-09-26 21:40:46 +0000 |
|---|---|---|
| committer | Geoff Berry <gberry@codeaurora.org> | 2017-09-26 21:40:46 +0000 |
| commit | bbfa246ad3c7c7bc7cf3184e64fbcc4fb483fe54 (patch) | |
| tree | 690a645d230bd8db722f3c80d202a881c1f9531f /llvm/test | |
| parent | a4b2f5df5eabb86b54b9c4257660305d477a9aca (diff) | |
| download | bcm5719-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.mir | 25 |
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 +... |

