diff options
Diffstat (limited to 'test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll')
| -rw-r--r-- | test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll b/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll deleted file mode 100644 index b9747a887a59..000000000000 --- a/test/CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll +++ /dev/null @@ -1,36 +0,0 @@ -; RUN: opt -basicaa -hexagon-loop-idiom -S -mtriple hexagon-unknown-elf < %s \ -; RUN: | FileCheck %s - -define void @PR14241(i32* %s, i64 %size) #0 { -; Ensure that we don't form a memcpy for strided loops. Briefly, when we taught -; LoopIdiom about memmove and strided loops, this got miscompiled into a memcpy -; instead of a memmove. If we get the memmove transform back, this will catch -; regressions. -; -; CHECK-LABEL: @PR14241( - -entry: - %end.idx = add i64 %size, -1 - %end.ptr = getelementptr inbounds i32, i32* %s, i64 %end.idx - br label %while.body -; CHECK-NOT: memcpy -; CHECK: memmove - -while.body: - %phi.ptr = phi i32* [ %s, %entry ], [ %next.ptr, %while.body ] - %src.ptr = getelementptr inbounds i32, i32* %phi.ptr, i64 1 - %val = load i32, i32* %src.ptr, align 4 -; CHECK: load - %dst.ptr = getelementptr inbounds i32, i32* %phi.ptr, i64 0 - store i32 %val, i32* %dst.ptr, align 4 -; CHECK: store - %next.ptr = getelementptr inbounds i32, i32* %phi.ptr, i64 1 - %cmp = icmp eq i32* %next.ptr, %end.ptr - br i1 %cmp, label %exit, label %while.body - -exit: - ret void -; CHECK: ret void -} - -attributes #0 = { nounwind } |
