summaryrefslogtreecommitdiff
path: root/test/Transforms/MemCpyOpt/memcpy.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-11-18 07:49:32 +0000
committerChris Lattner <sabre@nondot.org>2010-11-18 07:49:32 +0000
commit7cac8e1691156f22f2f1def0e82d6374bb2b0f21 (patch)
tree0a721625d65b04875ccfa88cb06a534be7cd7eb2 /test/Transforms/MemCpyOpt/memcpy.ll
parent12f7085027657957e08aea597b5c9fed44052969 (diff)
downloadllvm-7cac8e1691156f22f2f1def0e82d6374bb2b0f21.tar.gz
llvm-7cac8e1691156f22f2f1def0e82d6374bb2b0f21.tar.bz2
llvm-7cac8e1691156f22f2f1def0e82d6374bb2b0f21.tar.xz
filecheckize, this is still not optimal, see PR8643
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119693 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/MemCpyOpt/memcpy.ll')
-rw-r--r--test/Transforms/MemCpyOpt/memcpy.ll11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/Transforms/MemCpyOpt/memcpy.ll b/test/Transforms/MemCpyOpt/memcpy.ll
index e4cd0ef388..7d69287280 100644
--- a/test/Transforms/MemCpyOpt/memcpy.ll
+++ b/test/Transforms/MemCpyOpt/memcpy.ll
@@ -3,7 +3,7 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i686-apple-darwin9"
-define void @ccosl({ x86_fp80, x86_fp80 }* sret %agg.result, x86_fp80 %z.0, x86_fp80 %z.1) nounwind {
+define void @test1({ x86_fp80, x86_fp80 }* sret %agg.result, x86_fp80 %z.0, x86_fp80 %z.1) nounwind {
entry:
%tmp2 = alloca { x86_fp80, x86_fp80 } ; <{ x86_fp80, x86_fp80 }*> [#uses=1]
%memtmp = alloca { x86_fp80, x86_fp80 }, align 16 ; <{ x86_fp80, x86_fp80 }*> [#uses=2]
@@ -14,6 +14,15 @@ entry:
call void @llvm.memcpy.i32( i8* %tmp219, i8* %memtmp20, i32 32, i32 16 )
%agg.result21 = bitcast { x86_fp80, x86_fp80 }* %agg.result to i8* ; <i8*> [#uses=1]
call void @llvm.memcpy.i32( i8* %agg.result21, i8* %tmp219, i32 32, i32 16 )
+
+; Check that one of the memcpy's are removed.
+;; FIXME: PR 8643 We should be able to eliminate the last memcpy here.
+
+; CHECK: @test1
+; CHECK: call void @ccoshl
+; CHECK: call @llvm.memcpy
+; CHECK-NOT: llvm.memcpy
+; CHECK: ret void
ret void
}