filecheckize, this is still not optimal, see PR8643
authorChris Lattner <sabre@nondot.org>
Thu, 18 Nov 2010 07:49:32 +0000 (07:49 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 18 Nov 2010 07:49:32 +0000 (07:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119693 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/MemCpyOpt/memcpy.ll

index e4cd0ef388db5fd240659e83f0292bdba66140d1..7d69287280b0a51d2c573ee526bdae3923a19785 100644 (file)
@@ -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
 }