diff options
Diffstat (limited to 'test/Transforms')
29 files changed, 43 insertions, 1637 deletions
diff --git a/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll b/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll deleted file mode 100644 index 0fbd3307ae..0000000000 --- a/test/Transforms/CodeExtractor/2004-03-17-OutputMismatch.ll +++ /dev/null @@ -1,20 +0,0 @@ -; RUN: opt < %s -loop-extract -disable-output - -%struct.node_t = type { double*, %struct.node_t*, %struct.node_t**, double**, double*, i32, i32 } -%struct.table_t = type { [1 x %struct.node_t**], [1 x %struct.node_t**] } - -define void @make_tables() { -entry: - %tmp.0.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=1] - br i1 false, label %no_exit.i, label %loopexit.i - -no_exit.i: ; preds = %no_exit.i, %entry - %prev_node.0.i.1 = phi %struct.node_t* [ %tmp.16.i, %no_exit.i ], [ %tmp.0.i, %entry ] ; <%struct.node_t*> [#uses=0] - %tmp.16.i = malloc %struct.node_t ; <%struct.node_t*> [#uses=2] - br i1 false, label %no_exit.i, label %loopexit.i - -loopexit.i: ; preds = %no_exit.i, %entry - %cur_node.0.i.0 = phi %struct.node_t* [ null, %entry ], [ %tmp.16.i, %no_exit.i ] ; <%struct.node_t*> [#uses=0] - ret void -} - diff --git a/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll b/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll index 0e9c4f74e6..7c6c575ea8 100644 --- a/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll +++ b/test/Transforms/DeadArgElim/2007-12-20-ParamAttrs.ll @@ -9,12 +9,12 @@ @g = global i8 0 -define internal i8 @foo(i8* inreg %p, i8 signext %y, ... ) zeroext nounwind { +define internal zeroext i8 @foo(i8* inreg %p, i8 signext %y, ... ) nounwind { store i8 %y, i8* @g ret i8 0 } define i32 @bar() { - %A = call i8(i8*, i8, ...)* @foo(i8* inreg null, i8 signext 1, %struct* byval null ) zeroext nounwind + %A = call zeroext i8(i8*, i8, ...)* @foo(i8* inreg null, i8 signext 1, %struct* byval null ) nounwind ret i32 0 } diff --git a/test/Transforms/DeadStoreElimination/free.ll b/test/Transforms/DeadStoreElimination/free.ll index 3c980ccac6..aa3f0ab938 100644 --- a/test/Transforms/DeadStoreElimination/free.ll +++ b/test/Transforms/DeadStoreElimination/free.ll @@ -9,7 +9,8 @@ target datalayout = "e-p:64:64:64" define void @test(i32* %Q, i32* %P) { %DEAD = load i32* %Q ; <i32> [#uses=1] store i32 %DEAD, i32* %P - free i32* %P + %1 = bitcast i32* %P to i8* + tail call void @free(i8* %1) ret void } @@ -20,7 +21,8 @@ define void @test(i32* %Q, i32* %P) { define void @test2({i32, i32}* %P) { %Q = getelementptr {i32, i32} *%P, i32 0, i32 1 store i32 4, i32* %Q - free {i32,i32}* %P + %1 = bitcast {i32, i32}* %P to i8* + tail call void @free(i8* %1) ret void } diff --git a/test/Transforms/FunctionAttrs/2009-05-06-Malloc.ll b/test/Transforms/FunctionAttrs/2009-05-06-Malloc.ll deleted file mode 100644 index 488e6a9ec2..0000000000 --- a/test/Transforms/FunctionAttrs/2009-05-06-Malloc.ll +++ /dev/null @@ -1,7 +0,0 @@ -; RUN: opt < %s -functionattrs -S | not grep read -; PR3754 - -define i8* @m(i32 %size) { - %tmp = malloc i8, i32 %size ; <i8*> [#uses=1] - ret i8* %tmp -} diff --git a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll index d306d14782..c7aca62895 100644 --- a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll +++ b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll @@ -6,7 +6,7 @@ target triple = "thumb-apple-darwin8" @"L_OBJC_IMAGE_INFO" = internal global [2 x i32] zeroinitializer ; <[2 x i32]*> [#uses=1] @llvm.used = appending global [1 x i8*] [ i8* bitcast ([2 x i32]* @"L_OBJC_IMAGE_INFO" to i8*) ] ; <[1 x i8*]*> [#uses=0] -define i16 @__NSCharToUnicharCFWrapper(i8 zeroext %ch) zeroext { +define zeroext i16 @__NSCharToUnicharCFWrapper(i8 zeroext %ch) { entry: %iftmp.0.0.in.in = select i1 false, i16* @replacementUnichar, i16* null ; <i16*> [#uses=1] %iftmp.0.0.in = load i16* %iftmp.0.0.in.in ; <i16> [#uses=1] diff --git a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll index 3242e1eed6..b74e4fcd1e 100644 --- a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll +++ b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll @@ -6,12 +6,16 @@ target triple = "i386-apple-darwin7" define void @bar(i32 %Size) nounwind noinline { entry: - %tmp = malloc [1000000 x %struct.foo] ; <[1000000 x %struct.foo]*> [#uses=1] + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32* null, i32 1) to i64), i64 2000000) to i32)) + %tmp = bitcast i8* %malloccall to [1000000 x %struct.foo]* %.sub = getelementptr [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } +declare noalias i8* @malloc(i32) + + define i32 @baz() nounwind readonly noinline { bb1.thread: %tmpLD1 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=2] diff --git a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll index 51dcac1f1a..613cb7bcef 100644 --- a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll +++ b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll @@ -6,12 +6,15 @@ target triple = "i386-apple-darwin7" define void @bar(i32 %Size) nounwind noinline { entry: - %tmp = malloc [1000000 x %struct.foo] ; <[1000000 x %struct.foo]*> [#uses=1] + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32* null, i32 1) to i64), i64 2000000) to i32)) + %tmp = bitcast i8* %malloccall to [1000000 x %struct.foo]* %.sub = getelementptr [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } +declare noalias i8* @malloc(i32) + define i32 @baz() nounwind readonly noinline { bb1.thread: %tmpLD1 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=3] diff --git a/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll b/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll index 288431aa8b..a00483164f 100644 --- a/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll +++ b/test/Transforms/IndVarSimplify/2008-09-02-IVType.ll @@ -16,7 +16,7 @@ %struct.YUVGeneralParams = type { i16*, i8*, i8*, i8*, i8*, i8*, void (i8*, i16**, i32, %struct.YUVGeneralParams*)*, i16, i16, i16, [6 x i8], void (i8*, i16**, i32, %struct.YUVGeneralParams*)*, i16, i16 } @llvm.used = appending global [1 x i8*] [ i8* bitcast (i16 (%struct.JPEGGlobals*)* @ExtractBufferedBlocksIgnored to i8*) ], section "llvm.metadata" ; <[1 x i8*]*> [#uses=0] -define i16 @ExtractBufferedBlocksIgnored(%struct.JPEGGlobals* %globp) signext nounwind { +define signext i16 @ExtractBufferedBlocksIgnored(%struct.JPEGGlobals* %globp) nounwind { entry: %tmp4311 = getelementptr %struct.JPEGGlobals* %globp, i32 0, i32 70 ; <i32*> [#uses=1] %tmp4412 = load i32* %tmp4311, align 16 ; <i32> [#uses=2] diff --git a/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll b/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll deleted file mode 100644 index b59d3c8033..0000000000 --- a/test/Transforms/InstCombine/2007-04-04-BadFoldBitcastIntoMalloc.ll +++ /dev/null @@ -1,19 +0,0 @@ -; In the presence of a negative offset (the -8 below), a fold of a bitcast into -; a malloc messes up the element count, causing an extra 4GB to be allocated on -; 64-bit targets. -; -; RUN: opt < %s -instcombine -S | not grep {= add } - -target datalayout = "e-p:64:64:64-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" -target triple = "x86_64-unknown-freebsd6.2" - -define i1 @test(i32 %tmp141, double** %tmp145) -{ - %tmp133 = add i32 %tmp141, 1 - %tmp134 = shl i32 %tmp133, 3 - %tmp135 = add i32 %tmp134, -8 - %tmp136 = malloc i8, i32 %tmp135 - %tmp137 = bitcast i8* %tmp136 to double* - store double* %tmp137, double** %tmp145 - ret i1 false -} diff --git a/test/Transforms/InstCombine/2007-05-18-CastFoldBug.ll b/test/Transforms/InstCombine/2007-05-18-CastFoldBug.ll index 40818d40c2..1c24df3844 100644 --- a/test/Transforms/InstCombine/2007-05-18-CastFoldBug.ll +++ b/test/Transforms/InstCombine/2007-05-18-CastFoldBug.ll @@ -3,7 +3,7 @@ define void @blah(i16* %tmp10) { entry: - call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend_stret to void (i16* sret )*)( i16* %tmp10 sret ) + call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend_stret to void (i16* sret )*)( i16* sret %tmp10 ) ret void } diff --git a/test/Transforms/InstCombine/2007-11-25-CompatibleAttributes.ll b/test/Transforms/InstCombine/2007-11-25-CompatibleAttributes.ll index 24394c63e4..2109d3420f 100644 --- a/test/Transforms/InstCombine/2007-11-25-CompatibleAttributes.ll +++ b/test/Transforms/InstCombine/2007-11-25-CompatibleAttributes.ll @@ -5,7 +5,7 @@ define i32 @main(i32 %argc, i8** %argv) { entry: - %tmp32 = tail call i32 (i8* noalias , ...) nounwind * bitcast (i32 (i8*, ...) nounwind * @printf to i32 (i8* noalias , ...) nounwind *)( i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0) noalias , i32 0 ) nounwind ; <i32> [#uses=0] + %tmp32 = tail call i32 (i8* noalias , ...) * bitcast (i32 (i8*, ...) nounwind * @printf to i32 (i8* noalias , ...) nounwind *)( i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0) , i32 0 ) nounwind ; <i32> [#uses=0] ret i32 undef } diff --git a/test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll b/test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll index 5f4fa478da..23b606779e 100644 --- a/test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll +++ b/test/Transforms/InstCombine/2008-01-06-BitCastAttributes.ll @@ -5,7 +5,7 @@ define void @a() { ret void } -define i32 @b(i32* inreg %x) signext { +define signext i32 @b(i32* inreg %x) { ret i32 0 } diff --git a/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll b/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll index 7b3281ff4e..510a68c343 100644 --- a/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll +++ b/test/Transforms/InstCombine/2008-01-13-NoBitCastAttributes.ll @@ -1,6 +1,6 @@ ; RUN: opt < %s -instcombine -S | grep bitcast | count 2 -define i32 @b(i32* inreg %x) signext { +define signext i32 @b(i32* inreg %x) { ret i32 0 } diff --git a/test/Transforms/InstCombine/cast.ll b/test/Transforms/InstCombine/cast.ll index 333c4109b5..f85636f8df 100644 --- a/test/Transforms/InstCombine/cast.ll +++ b/test/Transforms/InstCombine/cast.ll @@ -99,14 +99,6 @@ define void @test11(i32* %P) { ; CHECK: ret void } -define i32* @test12() { - %p = malloc [4 x i8] ; <[4 x i8]*> [#uses=1] - %c = bitcast [4 x i8]* %p to i32* ; <i32*> [#uses=1] - ret i32* %c -; CHECK: %malloccall = tail call i8* @malloc(i32 4) -; CHECK: ret i32* %c -} - define i8* @test13(i64 %A) { %c = getelementptr [0 x i8]* bitcast ([32832 x i8]* @inbuf to [0 x i8]*), i64 0, i64 %A ; <i8*> [#uses=1] ret i8* %c @@ -270,17 +262,6 @@ define i1 @test31(i64 %A) { ; CHECK: ret i1 %D } -define void @test32(double** %tmp) { - %tmp8 = malloc [16 x i8] ; <[16 x i8]*> [#uses=1] - %tmp8.upgrd.1 = bitcast [16 x i8]* %tmp8 to double* ; <double*> [#uses=1] - store double* %tmp8.upgrd.1, double** %tmp - ret void -; CHECK: %malloccall = tail call i8* @malloc(i32 16) -; CHECK: %tmp8.upgrd.1 = bitcast i8* %malloccall to double* -; CHECK: store double* %tmp8.upgrd.1, double** %tmp -; CHECK: ret void -} - define i32 @test33(i32 %c1) { %x = bitcast i32 %c1 to float ; <float> [#uses=1] %y = bitcast float %x to i32 ; <i32> [#uses=1] diff --git a/test/Transforms/InstCombine/getelementptr.ll b/test/Transforms/InstCombine/getelementptr.ll index 9e8547b684..b86939287f 100644 --- a/test/Transforms/InstCombine/getelementptr.ll +++ b/test/Transforms/InstCombine/getelementptr.ll @@ -52,14 +52,6 @@ define void @test5(i8 %B) { ; CHECK: store i8 %B, i8* getelementptr inbounds ([10 x i8]* @Global, i64 0, i64 4) } -define i32* @test6() { - %M = malloc [4 x i32] - %A = getelementptr [4 x i32]* %M, i64 0, i64 0 - %B = getelementptr i32* %A, i64 2 - ret i32* %B -; CHECK: @test6 -; CHECK: getelementptr i8* %malloccall, i64 8 -} define i32* @test7(i32* %I, i64 %C, i64 %D) { %A = getelementptr i32* %I, i64 %C diff --git a/test/Transforms/InstCombine/malloc-free-delete.ll b/test/Transforms/InstCombine/malloc-free-delete.ll index 317786fc56..8455300c98 100644 --- a/test/Transforms/InstCombine/malloc-free-delete.ll +++ b/test/Transforms/InstCombine/malloc-free-delete.ll @@ -1,14 +1,14 @@ ; RUN: opt < %s -instcombine -S | FileCheck %s ; PR1201 define i32 @main(i32 %argc, i8** %argv) { - %c_19 = alloca i8* - %malloc_206 = malloc i8, i32 10 + %c_19 = alloca i8* + %malloc_206 = tail call i8* @malloc(i32 mul (i32 ptrtoint (i8* getelementptr (i8* null, i32 1) to i32), i32 10)) + store i8* %malloc_206, i8** %c_19 + %tmp_207 = load i8** %c_19 + tail call void @free(i8* %tmp_207) + ret i32 0 ; CHECK-NOT: malloc - store i8* %malloc_206, i8** %c_19 - %tmp_207 = load i8** %c_19 - free i8* %tmp_207 ; CHECK-NOT: free - ret i32 0 ; CHECK: ret i32 0 } diff --git a/test/Transforms/InstCombine/malloc.ll b/test/Transforms/InstCombine/malloc.ll deleted file mode 100644 index b6ebbeaf57..0000000000 --- a/test/Transforms/InstCombine/malloc.ll +++ /dev/null @@ -1,7 +0,0 @@ -; test that malloc's with a constant argument are promoted to array allocations -; RUN: opt < %s -instcombine -S | grep getelementptr - -define i32* @test() { - %X = malloc i32, i32 4 - ret i32* %X -} diff --git a/test/Transforms/InstCombine/malloc2.ll b/test/Transforms/InstCombine/malloc2.ll deleted file mode 100644 index 8462dacf85..0000000000 --- a/test/Transforms/InstCombine/malloc2.ll +++ /dev/null @@ -1,22 +0,0 @@ -; RUN: opt < %s -instcombine -S | FileCheck %s -; PR1313 - -define i32 @test1(i32 %argc, i8* %argv, i8* %envp) { - %tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1] -; CHECK-NOT: call i8* @malloc - %c = icmp eq [2564 x i32]* %tmp15.i.i.i23, null ; <i1>:0 [#uses=1] - %retval = zext i1 %c to i32 ; <i32> [#uses=1] - ret i32 %retval -; CHECK: ret i32 0 -} - -define i32 @test2(i32 %argc, i8* %argv, i8* %envp) { - %tmp15.i.i.i23 = malloc [2564 x i32] ; <[2564 x i32]*> [#uses=1] -; CHECK-NOT: call i8* @malloc - %X = bitcast [2564 x i32]* %tmp15.i.i.i23 to i32* - %c = icmp ne i32* %X, null - %retval = zext i1 %c to i32 ; <i32> [#uses=1] - ret i32 %retval -; CHECK: ret i32 1 -} - diff --git a/test/Transforms/InstCombine/malloc3.ll b/test/Transforms/InstCombine/malloc3.ll deleted file mode 100644 index f1c0cae15a..0000000000 --- a/test/Transforms/InstCombine/malloc3.ll +++ /dev/null @@ -1,26 +0,0 @@ -; RUN: opt < %s -instcombine -S | not grep load -; PR1728 - -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-darwin8" - %struct.foo = type { %struct.foo*, [10 x i32] } -@.str = internal constant [21 x i8] c"tmp = %p, next = %p\0A\00" ; <[21 x i8]*> [#uses=1] - -define i32 @main() { -entry: - %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] - %tmp1 = malloc i8, i32 44 ; <i8*> [#uses=1] - %tmp12 = bitcast i8* %tmp1 to %struct.foo* ; <%struct.foo*> [#uses=3] - %tmp3 = malloc i8, i32 44 ; <i8*> [#uses=1] - %tmp34 = bitcast i8* %tmp3 to %struct.foo* ; <%struct.foo*> [#uses=1] - %tmp6 = getelementptr %struct.foo* %tmp12, i32 0, i32 0 ; <%struct.foo**> [#uses=1] - store %struct.foo* %tmp34, %struct.foo** %tmp6, align 4 - %tmp8 = getelementptr %struct.foo* %tmp12, i32 0, i32 0 ; <%struct.foo**> [#uses=1] - %tmp9 = load %struct.foo** %tmp8, align 4 ; <%struct.foo*> [#uses=1] - %tmp10 = getelementptr [21 x i8]* @.str, i32 0, i32 0 ; <i8*> [#uses=1] - %tmp13 = call i32 (i8*, ...)* @printf( i8* %tmp10, %struct.foo* %tmp12, %struct.foo* %tmp9 ) ; <i32> [#uses=0] - ret i32 undef -} - -declare i32 @printf(i8*, ...) - diff --git a/test/Transforms/InstCombine/not.ll b/test/Transforms/InstCombine/not.ll index c58ce11b43..4a8825b15c 100644 --- a/test/Transforms/InstCombine/not.ll +++ b/test/Transforms/InstCombine/not.ll @@ -43,7 +43,7 @@ define i32 @test5(i32 %A, i32 %B) { } ; PR2298 -define i8 @test6(i32 %a, i32 %b) zeroext nounwind { +define zeroext i8 @test6(i32 %a, i32 %b) nounwind { entry: %tmp1not = xor i32 %a, -1 ; <i32> [#uses=1] %tmp2not = xor i32 %b, -1 ; <i32> [#uses=1] diff --git a/test/Transforms/InstCombine/sub.ll b/test/Transforms/InstCombine/sub.ll index 9656a7e862..37de328135 100644 --- a/test/Transforms/InstCombine/sub.ll +++ b/test/Transforms/InstCombine/sub.ll @@ -203,7 +203,7 @@ define i1 @test21(i32 %g, i32 %h) { } ; PR2298 -define i1 @test22(i32 %a, i32 %b) zeroext nounwind { +define zeroext i1 @test22(i32 %a, i32 %b) nounwind { %tmp2 = sub i32 0, %a %tmp4 = sub i32 0, %b %tmp5 = icmp eq i32 %tmp2, %tmp4 diff --git a/test/Transforms/InstCombine/zext-or-icmp.ll b/test/Transforms/InstCombine/zext-or-icmp.ll index 969c301570..ddc60834f5 100644 --- a/test/Transforms/InstCombine/zext-or-icmp.ll +++ b/test/Transforms/InstCombine/zext-or-icmp.ll @@ -4,7 +4,7 @@ %struct.Rock = type { i16, i16 } @some_idx = internal constant [4 x i8] c"\0A\0B\0E\0F" ; <[4 x i8]*> [#uses=1] -define i8 @t(%struct.FooBar* %up, i8 zeroext %intra_flag, i32 %blk_i) zeroext nounwind { +define zeroext i8 @t(%struct.FooBar* %up, i8 zeroext %intra_flag, i32 %blk_i) nounwind { entry: %tmp2 = lshr i32 %blk_i, 1 ; <i32> [#uses=1] %tmp3 = and i32 %tmp2, 2 ; <i32> [#uses=1] diff --git a/test/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll b/test/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll deleted file mode 100644 index 91740cf0eb..0000000000 --- a/test/Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll +++ /dev/null @@ -1,9 +0,0 @@ -; RUN: opt < %s -licm -disable-output - -define void @test({ i32 }* %P) { - br label %Loop -Loop: ; preds = %Loop, %0 - free { i32 }* %P - br label %Loop -} - diff --git a/test/Transforms/LoopSimplify/2007-10-28-InvokeCrash.ll b/test/Transforms/LoopSimplify/2007-10-28-InvokeCrash.ll index e73fff18bc..e7d0f8470e 100644 --- a/test/Transforms/LoopSimplify/2007-10-28-InvokeCrash.ll +++ b/test/Transforms/LoopSimplify/2007-10-28-InvokeCrash.ll @@ -278,7 +278,7 @@ invcont: ; preds = %bb_main br label %bb_main invcont.fragment: ; preds = %bb_main - invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* null sret , %struct.Fibonacci* %this_this, i32 %n_i_n_i ) + invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* sret null , %struct.Fibonacci* %this_this, i32 %n_i_n_i ) to label %invcont14 unwind label %meshBB37 invcont.unwind10_crit_edge: ; preds = %bb_main @@ -304,7 +304,7 @@ invcont14: ; preds = %invcont.fragment, %bb_main br label %bb_main invcont14.normaldest: ; No predecessors! - invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* null noalias ) + invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* noalias null ) to label %invcont15 unwind label %meshBB345 ; <%"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*>:0 [#uses=0] invcont14.unwind10_crit_edge: ; preds = %bb_main @@ -372,7 +372,7 @@ invcont.cond_next_crit_edge: ; preds = %bb_main br label %bb_main cond_true: ; preds = %bb_main - invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* null sret , %struct.Fibonacci* %this_this, i32 %n_i_n_i ) + invoke void @_ZN9Fibonacci10get_numberEj( %struct.BigInt* sret null , %struct.Fibonacci* %this_this, i32 %n_i_n_i ) to label %meshBB323 unwind label %cond_true.unwind_crit_edge cond_true.unwind_crit_edge: ; preds = %cond_true, %bb_main @@ -385,7 +385,7 @@ invcont12: ; preds = %bb_main br label %bb_main invcont12.fragment: ; preds = %bb_main - invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* null noalias ) + invoke %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* @___ZN9__gnu_cxx17__normal_iteratorIP6BigIntSt6vectorIS1_SaIS1_EEEppEv___ZNSt6vectorImSaImEED1Ev___ZN6BigIntD1Ev___ZN9__gnu_cxx13new_allocatorI6BigIntE7destroyEPS1____ZSt8_DestroyIP6BigIntSaIS0_EEvT_S3_T0_( i32 14, %"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"* null, %"struct.std::vector<ulong,std::allocator<ulong> >"* null, %struct.BigInt* null, %struct.__false_type* null, %struct.BigInt* null, %struct.__false_type* noalias null ) to label %meshBB30 unwind label %meshBB337 ; <%"struct.__gnu_cxx::__normal_iterator<BigInt*,std::vector<BigInt, std::allocator<BigInt> > >"*>:1 [#uses=0] invcont12.unwind_crit_edge: ; preds = %bb_main @@ -467,7 +467,7 @@ invcont30.unwind_crit_edge.unwinddest: ; No predecessors! br label %bb_main invcont33: ; preds = %bb_main - invoke void @_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv( %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* null sret , %"struct.std::ostringstream"* null ) + invoke void @_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv( %"struct.std::basic_string<char,std::char_traits<char>,std::allocator<char> >"* sret null , %"struct.std::ostringstream"* null ) to label %invcont36 unwind label %invcont33.unwind_crit_edge invcont33.unwind_crit_edge: ; preds = %invcont33, %bb_main diff --git a/test/Transforms/MemCpyOpt/memmove.ll b/test/Transforms/MemCpyOpt/memmove.ll index 8babb04e4b..8d3fbd2b6d 100644 --- a/test/Transforms/MemCpyOpt/memmove.ll +++ b/test/Transforms/MemCpyOpt/memmove.ll @@ -11,11 +11,14 @@ entry: ; CHECK: @test1 ; CHECK: call void @llvm.memcpy - %call3 = malloc [13 x i8] ; <[13 x i8]*> [#uses=1] + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul nuw (i64 ptrtoint (i8* getelementptr (i8* null, i32 1) to i64), i64 13) to i32)) + %call3 = bitcast i8* %malloccall to [13 x i8]* %call3.sub = getelementptr inbounds [13 x i8]* %call3, i64 0, i64 0 ; <i8*> [#uses=2] tail call void @llvm.memmove.i64(i8* %call3.sub, i8* %src, i64 13, i32 1) ret i8* %call3.sub } +declare noalias i8* @malloc(i32) + define void @test2(i8* %P) nounwind { entry: diff --git a/test/Transforms/PruneEH/2008-09-05-CGUpdate.ll b/test/Transforms/PruneEH/2008-09-05-CGUpdate.ll deleted file mode 100644 index 33e0cfa3ce..0000000000 --- a/test/Transforms/PruneEH/2008-09-05-CGUpdate.ll +++ /dev/null @@ -1,1445 +0,0 @@ -; RUN: opt < %s -prune-eh -inline -print-callgraph \ -; RUN: -disable-output |& \ -; RUN: grep {calls.*ce3806g__fxio__put__put_int64__4.1339} | count 2 - %struct.FRAME.ce3806g = type { %struct.string___XUB, %struct.string___XUB, %struct.string___XUB, %struct.string___XUB } - %struct.FRAME.ce3806g__fxio__put__4 = type { i32, i32, i32, %struct.system__file_control_block__pstring*, i32, i32, i8 } - %struct.RETURN = type { i8, i32 } - %struct.ada__streams__root_stream_type = type { %struct.ada__tags__dispatch_table* } - %struct.ada__tags__dispatch_table = type { [1 x i32] } - %struct.ada__tags__select_specific_data = type { i32, %struct.ada__tags__select_specific_data_element } - %struct.ada__tags__select_specific_data_element = type { i32, i8 } - %struct.ada__tags__type_specific_data = type { i32, i32, [2147483647 x i8]*, [2147483647 x i8]*, %struct.ada__tags__dispatch_table*, i8, i32, i32, i32, i32, [2 x %struct.ada__tags__dispatch_table*] } - %struct.ada__text_io__text_afcb = type { %struct.system__file_control_block__afcb, i32, i32, i32, i32, i32, %struct.ada__text_io__text_afcb*, i8, i8 } - %struct.exception = type { i8, i8, i32, i8*, i8*, i32, i8* } - %struct.long_long_float___PAD = type { x86_fp80, [1 x i32] } - %struct.string___XUB = type { i32, i32 } - %struct.system__file_control_block__afcb = type { %struct.ada__streams__root_stream_type, i32, %struct.system__file_control_block__pstring, %struct.system__file_control_block__pstring, i8, i8, i8, i8, i8, i8, i8, %struct.system__file_control_block__afcb*, %struct.system__file_control_block__afcb* } - %struct.system__file_control_block__pstring = type { i8*, %struct.string___XUB* } - %struct.system__finalization_implementation__limited_record_controller = type { %struct.system__finalization_root__root_controlled, %struct.system__finalization_root__root_controlled* } - %struct.system__finalization_implementation__record_controller = type { %struct.system__finalization_implementation__limited_record_controller, i32 } - %struct.system__finalization_root__empty_root_controlled = type { %struct.ada__tags__dispatch_table* } - %struct.system__finalization_root__root_controlled = type { %struct.ada__streams__root_stream_type, %struct.system__finalization_root__root_controlled*, %struct.system__finalization_root__root_controlled* } - %struct.system__secondary_stack__mark_id = type { i32, i32 } - %struct.system__standard_library__exception_data = type { i8, i8, i32, i32, %struct.system__standard_library__exception_data*, i32, void ()* } -@.str = internal constant [12 x i8] c"system.ads\00\00" ; <[12 x i8]*> [#uses=1] -@.str1 = internal constant [14 x i8] c"a-tifiio.adb\00\00" ; <[14 x i8]*> [#uses=1] -@system__soft_links__abort_undefer = external global void ()* ; <void ()**> [#uses=6] -@.str2 = internal constant [47 x i8] c"a-tifiio.adb:327 instantiated at ce3806g.adb:52" ; <[47 x i8]*> [#uses=1] -@C.354.2200 = internal constant %struct.string___XUB { i32 1, i32 47 } ; <%struct.string___XUB*> [#uses=1] -@ada__io_exceptions__data_error = external global %struct.exception ; <%struct.exception*> [#uses=1] -@constraint_error = external global %struct.exception ; <%struct.exception*> [#uses=2] -@__gnat_all_others_value = external constant i32 ; <i32*> [#uses=21] -@.str3 = internal constant [10 x i8] c"0123456789" ; <[10 x i8]*> [#uses=2] -@ada__text_io__current_out = external global %struct.ada__text_io__text_afcb* ; <%struct.ada__text_io__text_afcb**> [#uses=1] -@.str4 = internal constant [126 x i8] c"CHECK THAT FIXED_IO PUT OPERATES ON FILES OF MODE OUT_FILE AND IF NO FILE IS SPECIFIED THE CURRENT DEFAULT OUTPUT FILE IS USED" ; <[126 x i8]*> [#uses=1] -@C.131.1559 = internal constant %struct.string___XUB { i32 1, i32 126 } ; <%struct.string___XUB*> [#uses=1] -@.str5 = internal constant [7 x i8] c"CE3806G" ; <[7 x i8]*> [#uses=1] -@C.132.1562 = internal constant %struct.string___XUB { i32 1, i32 7 } ; <%struct.string___XUB*> [#uses=1] -@incompleteF.1176.b = internal global i1 false ; <i1*> [#uses=2] -@incomplete.1177 = internal global %struct.exception { i8 0, i8 65, i32 23, i8* getelementptr ([23 x i8]* @incompleteE.1174, i32 0, i32 0), i8* null, i32 0, i8* null } ; <%struct.exception*> [#uses=15] -@incompleteE.1174 = internal global [23 x i8] c"CE3806G.B_1.INCOMPLETE\00" ; <[23 x i8]*> [#uses=1] -@.str6 = internal constant [0 x i8] zeroinitializer ; <[0 x i8]*> [#uses=1] -@C.136.1568 = internal constant %struct.string___XUB { i32 1, i32 0 } ; <%struct.string___XUB*> [#uses=1] -@C.137.1571 = internal constant %struct.string___XUB { i32 1, i32 0 } ; <%struct.string___XUB*> [#uses=1] -@.str7 = internal constant [50 x i8] c"USE_ERROR RAISED ON TEXT CREATE WITH OUT_FILE MODE" ; <[50 x i8]*> [#uses=1] -@C.139.1577 = internal constant %struct.string___XUB { i32 1, i32 50 } ; <%struct.string___XUB*> [#uses=1] -@.str8 = internal constant [14 x i8] c"ce3806g.adb:65" ; <[14 x i8]*> [#uses=1] -@C.140.1580 = internal constant %struct.string___XUB { i32 1, i32 14 } ; <%struct.string___XUB*> [#uses=1] -@.str9 = internal constant [51 x i8] c"NAME_ERROR RAISED ON TEXT CREATE WITH OUT_FILE MODE" ; <[51 x i8]*> [#uses=1] -@C.143.1585 = internal constant %struct. |