diff options
Diffstat (limited to 'test/Analysis')
28 files changed, 18 insertions, 186 deletions
diff --git a/test/Analysis/Andersens/arg-must-alias.ll b/test/Analysis/Andersens/arg-must-alias.ll deleted file mode 100644 index 9680bb5..0000000 --- a/test/Analysis/Andersens/arg-must-alias.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | not grep ARG - -@G = internal constant i32* null - -define internal i32 @internal(i32* %ARG) { - ;; The 'Arg' argument must-aliases the null pointer, so it can be subsituted - ;; directly here, making it dead. - store i32* %ARG, i32** @G - ret i32 0 -} - -define i32 @foo() { - %V = call i32 @internal(i32* null) - ret i32 %V -} diff --git a/test/Analysis/Andersens/external.ll b/test/Analysis/Andersens/external.ll index 1184c6f..8a4be25 100644 --- a/test/Analysis/Andersens/external.ll +++ b/test/Analysis/Andersens/external.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -deadargelim | llvm-dis | grep store | not grep null +; RUN: llvm-as < %s | opt -anders-aa -gvn -deadargelim | llvm-dis | grep store | not grep null ; Because the 'internal' function is passed to an external function, we don't ; know what the incoming values will alias. As such, we cannot do the diff --git a/test/Analysis/Andersens/modreftest.ll b/test/Analysis/Andersens/modreftest.ll index 70ca293..f86c7f7 100644 --- a/test/Analysis/Andersens/modreftest.ll +++ b/test/Analysis/Andersens/modreftest.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -anders-aa -load-vn -gcse -instcombine | llvm-dis \ +; RUN: llvm-as < %s | opt -anders-aa -gvn -instcombine | llvm-dis \ ; RUN: | grep {ret i1 true} @G = internal global i32* null diff --git a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll index 4a3239f..8ba66df 100644 --- a/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll +++ b/test/Analysis/BasicAA/2003-02-26-AccessSizeTest.ll @@ -2,7 +2,7 @@ ; is performed. It is not legal to delete the second load instruction because ; the value computed by the first load instruction is changed by the store. -; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep DONOTREMOVE +; RUN: llvm-as < %s | opt -gvn -instcombine | llvm-dis | grep DONOTREMOVE define i32 @test() { %A = alloca i32 diff --git a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll index 5902a42..4b3cc6a 100644 --- a/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll +++ b/test/Analysis/BasicAA/2003-04-22-GEPProblem.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub +; RUN: llvm-as < %s | opt -gvn -instcombine | llvm-dis | grep sub ; BasicAA was incorrectly concluding that P1 and P2 didn't conflict! diff --git a/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll b/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll index 9bcd4ea..e2bb86d 100644 --- a/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll +++ b/test/Analysis/BasicAA/2003-09-19-LocalArgument.ll @@ -1,6 +1,6 @@ ; In this test, a local alloca cannot alias an incoming argument. -; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | not grep sub +; RUN: llvm-as < %s | opt -gvn -instcombine | llvm-dis | not grep sub define i32 @test(i32* %P) { %X = alloca i32 diff --git a/test/Analysis/BasicAA/2004-01-29-InvariantMemory.ll b/test/Analysis/BasicAA/2004-01-29-InvariantMemory.ll deleted file mode 100644 index 692c6f8..0000000 --- a/test/Analysis/BasicAA/2004-01-29-InvariantMemory.ll +++ /dev/null @@ -1,13 +0,0 @@ -; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | \ -; RUN: llvm-dis | not grep load - -@X = constant [2 x i32] [i32 4, i32 5] - -define i32 @test(i32* %Y, i64 %idx) { - %P = getelementptr [2 x i32]* @X, i64 0, i64 %idx - %A = load i32* %P ; Load from invariant memory - store i32 4, i32* %Y ; Store could not be to @X - %B = load i32* %P - %C = sub i32 %A, %B - ret i32 %C -} diff --git a/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll b/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll index e5515dd..21c86b7 100644 --- a/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll +++ b/test/Analysis/BasicAA/2005-03-09-BrokenBasicAA.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine |\ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine |\ ; RUN: llvm-dis | grep {load i32\\* %A} declare double* @useit(i32*) diff --git a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll index 683e07d..08c483d 100644 --- a/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll +++ b/test/Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll @@ -1,7 +1,7 @@ ; PR1109 -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | \ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | \ ; RUN: grep {sub i32} -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | \ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | \ ; RUN: not grep {ret i32 0} ; END. diff --git a/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll b/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll index c555f63..15aaa02 100644 --- a/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll +++ b/test/Analysis/BasicAA/2007-08-05-GetOverloadedModRef.ll @@ -1,5 +1,5 @@ ; PR1600 -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | \ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | \ ; RUN: grep {ret i32 0} ; END. diff --git a/test/Analysis/BasicAA/featuretest.ll b/test/Analysis/BasicAA/featuretest.ll index a9eeb5d..e807f88 100644 --- a/test/Analysis/BasicAA/featuretest.ll +++ b/test/Analysis/BasicAA/featuretest.ll @@ -1,7 +1,7 @@ ; This testcase tests for various features the basicaa test should be able to ; determine, as noted in the comments. -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce | llvm-dis | not grep REMOVE +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine -dce | llvm-dis | not grep REMOVE @Global = external global { i32 } diff --git a/test/Analysis/BasicAA/gcsetest.ll b/test/Analysis/BasicAA/gcsetest.ll index b7e2565..1d55ca9 100644 --- a/test/Analysis/BasicAA/gcsetest.ll +++ b/test/Analysis/BasicAA/gcsetest.ll @@ -2,7 +2,7 @@ ; disambiguating some obvious cases. All loads should be removable in ; this testcase. -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine -dce \ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine -dce \ ; RUN: | llvm-dis | not grep load @A = global i32 7 diff --git a/test/Analysis/BasicAA/global-size.ll b/test/Analysis/BasicAA/global-size.ll index 92a8bc5..ce92a69 100644 --- a/test/Analysis/BasicAA/global-size.ll +++ b/test/Analysis/BasicAA/global-size.ll @@ -1,7 +1,7 @@ ; A store or load cannot alias a global if the accessed amount is larger then ; the global. -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep load +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine | llvm-dis | not grep load @B = global i16 8 ; <i16*> [#uses=2] diff --git a/test/Analysis/BasicAA/tailcall-modref.ll b/test/Analysis/BasicAA/tailcall-modref.ll index d63bf2b..ac4ea40 100644 --- a/test/Analysis/BasicAA/tailcall-modref.ll +++ b/test/Analysis/BasicAA/tailcall-modref.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine |\ +; RUN: llvm-as < %s | opt -basicaa -gvn -instcombine |\ ; RUN: llvm-dis | grep {ret i32 0} declare void @foo(i32*) diff --git a/test/Analysis/GlobalsModRef/aliastest.ll b/test/Analysis/GlobalsModRef/aliastest.ll index 13d0bdb..5ea90fe 100644 --- a/test/Analysis/GlobalsModRef/aliastest.ll +++ b/test/Analysis/GlobalsModRef/aliastest.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load +; RUN: llvm-as < %s | opt -globalsmodref-aa -gvn | llvm-dis | not grep load @X = internal global i32 4 ; <i32*> [#uses=1] define i32 @test(i32* %P) { diff --git a/test/Analysis/GlobalsModRef/chaining-analysis.ll b/test/Analysis/GlobalsModRef/chaining-analysis.ll index e521cc1..137b2c1 100644 --- a/test/Analysis/GlobalsModRef/chaining-analysis.ll +++ b/test/Analysis/GlobalsModRef/chaining-analysis.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load +; RUN: llvm-as < %s | opt -globalsmodref-aa -gvn | llvm-dis | not grep load ; This test requires the use of previous analyses to determine that ; doesnotmodX does not modify X (because 'sin' doesn't). diff --git a/test/Analysis/GlobalsModRef/indirect-global.ll b/test/Analysis/GlobalsModRef/indirect-global.ll index 3f73782..ff5a0b9 100644 --- a/test/Analysis/GlobalsModRef/indirect-global.ll +++ b/test/Analysis/GlobalsModRef/indirect-global.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse -instcombine | llvm-dis | \ +; RUN: llvm-as < %s | opt -globalsmodref-aa -gvn -instcombine | llvm-dis | \ ; RUN: grep {ret i32 0} @G = internal global i32* null ; <i32**> [#uses=3] diff --git a/test/Analysis/GlobalsModRef/modreftest.ll b/test/Analysis/GlobalsModRef/modreftest.ll index 9783664..ffcb84d 100644 --- a/test/Analysis/GlobalsModRef/modreftest.ll +++ b/test/Analysis/GlobalsModRef/modreftest.ll @@ -1,4 +1,4 @@ -; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse | llvm-dis | not grep load +; RUN: llvm-as < %s | opt -globalsmodref-aa -gvn | llvm-dis | not grep load @X = internal global i32 4 ; <i32*> [#uses=2] define i32 @test(i32* %P) { diff --git a/test/Analysis/GlobalsModRef/purecse.ll b/test/Analysis/GlobalsModRef/purecse.ll index 1977f47..dc3f6ad 100644 --- a/test/Analysis/GlobalsModRef/purecse.ll +++ b/test/Analysis/GlobalsModRef/purecse.ll @@ -1,5 +1,5 @@ ; Test that pure functions are cse'd away -; RUN: llvm-as < %s | opt -globalsmodref-aa -load-vn -gcse -instcombine | \ +; RUN: llvm-as < %s | opt -globalsmodref-aa -gvn -instcombine | \ ; RUN: llvm-dis | not grep sub define i32 @pure(i32 %X) { diff --git a/test/Analysis/LoadVN/RLE-Eliminate.ll b/test/Analysis/LoadVN/RLE-Eliminate.ll deleted file mode 100644 index ad9ba5e..0000000 --- a/test/Analysis/LoadVN/RLE-Eliminate.ll +++ /dev/null @@ -1,25 +0,0 @@ -; This testcase ensures that redundant loads are eliminated when they should -; be. All RL variables (redundant loads) should be eliminated. -; -; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep %RL -; - -define i32 @test1(i32* %P) { - %A = load i32* %P ; <i32> [#uses=1] - %RL = load i32* %P ; <i32> [#uses=1] - %C = add i32 %A, %RL ; <i32> [#uses=1] - ret i32 %C -} - -define i32 @test2(i32* %P) { - %A = load i32* %P ; <i32> [#uses=1] - br label %BB2 - -BB2: ; preds = %0 - br label %BB3 - -BB3: ; preds = %BB2 - %RL = load i32* %P ; <i32> [#uses=1] - %B = add i32 %A, %RL ; <i32> [#uses=1] - ret i32 %B -} diff --git a/test/Analysis/LoadVN/RLE-Preserve-Volatile.ll b/test/Analysis/LoadVN/RLE-Preserve-Volatile.ll deleted file mode 100644 index 52968ea..0000000 --- a/test/Analysis/LoadVN/RLE-Preserve-Volatile.ll +++ /dev/null @@ -1,8 +0,0 @@ -; RUN: llvm-as < %s | opt -load-vn -gcse -instcombine | llvm-dis | grep sub - -define i32 @test(i32* %P) { - %X = volatile load i32* %P ; <i32> [#uses=1] - %Y = volatile load i32* %P ; <i32> [#uses=1] - %Z = sub i32 %X, %Y ; <i32> [#uses=1] - ret i32 %Z -} diff --git a/test/Analysis/LoadVN/RLE-Preserve.ll b/test/Analysis/LoadVN/RLE-Preserve.ll deleted file mode 100644 index f2c0794..0000000 --- a/test/Analysis/LoadVN/RLE-Preserve.ll +++ /dev/null @@ -1,26 +0,0 @@ -; This testcase ensures that redundant loads are preserved when they are not -; allowed to be eliminated. -; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | grep sub -; - -define i32 @test1(i32* %P) { - %A = load i32* %P ; <i32> [#uses=1] - store i32 1, i32* %P - %B = load i32* %P ; <i32> [#uses=1] - %C = sub i32 %A, %B ; <i32> [#uses=1] - ret i32 %C -} - -define i32 @test2(i32* %P) { - %A = load i32* %P ; <i32> [#uses=1] - br label %BB2 - -BB2: ; preds = %0 - store i32 5, i32* %P - br label %BB3 - -BB3: ; preds = %BB2 - %B = load i32* %P ; <i32> [#uses=1] - %C = sub i32 %A, %B ; <i32> [#uses=1] - ret i32 %C -} diff --git a/test/Analysis/LoadVN/call_cse.ll b/test/Analysis/LoadVN/call_cse.ll deleted file mode 100644 index b62300f..0000000 --- a/test/Analysis/LoadVN/call_cse.ll +++ /dev/null @@ -1,12 +0,0 @@ -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub - -declare i32 @strlen(i8*) readonly - -define i32 @test(i8* %P) { - %X = call i32 @strlen( i8* %P ) readonly ; <i32> [#uses=2] - %A = add i32 %X, 14 ; <i32> [#uses=1] - %Y = call i32 @strlen( i8* %P ) readonly ; <i32> [#uses=1] - %Z = sub i32 %X, %Y ; <i32> [#uses=1] - %B = add i32 %A, %Z ; <i32> [#uses=1] - ret i32 %B -} diff --git a/test/Analysis/LoadVN/call_pure_function.ll b/test/Analysis/LoadVN/call_pure_function.ll deleted file mode 100644 index 8055c52..0000000 --- a/test/Analysis/LoadVN/call_pure_function.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | llvm-dis | not grep sub - -declare i32 @strlen(i8*) readonly - -declare void @use(i32) - -define i8 @test(i8* %P, i8* %Q) { - %A = load i8* %Q ; <i8> [#uses=1] - %X = call i32 @strlen( i8* %P ) readonly ; <i32> [#uses=1] - %B = load i8* %Q ; <i8> [#uses=1] - call void @use( i32 %X ) - %C = sub i8 %A, %B ; <i8> [#uses=1] - ret i8 %C -} diff --git a/test/Analysis/LoadVN/casts.ll b/test/Analysis/LoadVN/casts.ll deleted file mode 100644 index 70e3fe5..0000000 --- a/test/Analysis/LoadVN/casts.ll +++ /dev/null @@ -1,13 +0,0 @@ -; Check to make sure that Value Numbering doesn't merge casts of different -; flavors. -; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | \ -; RUN: grep {\[sz\]ext} | count 2 - -declare void @external(i32) - -define i32 @test_casts(i16 %x) { - %a = sext i16 %x to i32 ; <i32> [#uses=1] - %b = zext i16 %x to i32 ; <i32> [#uses=1] - call void @external( i32 %a ) - ret i32 %b -} diff --git a/test/Analysis/LoadVN/dependent_loads.ll b/test/Analysis/LoadVN/dependent_loads.ll deleted file mode 100644 index 1338a49..0000000 --- a/test/Analysis/LoadVN/dependent_loads.ll +++ /dev/null @@ -1,25 +0,0 @@ -; RUN: llvm-as < %s | opt -basicaa -load-vn -gcse -instcombine | \ -; RUN: llvm-dis | not grep sub - -%S = type { i32, i8 } - -define i8 @test(i8** %P) { - %A = load i8** %P ; <i8*> [#uses=1] - %B = load i8* %A ; <i8> [#uses=1] - %X = load i8** %P ; <i8*> [#uses=1] - %Y = load i8* %X ; <i8> [#uses=1] - %R = sub i8 %B, %Y ; <i8> [#uses=1] - ret i8 %R -} - -define i8 @test1(%S** %P) { - %A = load %S** %P ; <%S*> [#uses=1] - %B = getelementptr %S* %A, i32 0, i32 1 ; <i8*> [#uses=1] - %C = load i8* %B ; <i8> [#uses=1] - %X = load %S** %P ; <%S*> [#uses=1] - %Y = getelementptr %S* %X, i32 0, i32 1 ; <i8*> [#uses=1] - %Z = load i8* %Y ; <i8> [#uses=1] - %R = sub i8 %C, %Z ; <i8> [#uses=1] - ret i8 %R -} - diff --git a/test/Analysis/LoadVN/dg.exp b/test/Analysis/LoadVN/dg.exp deleted file mode 100644 index f200589..0000000 --- a/test/Analysis/LoadVN/dg.exp +++ /dev/null @@ -1,3 +0,0 @@ -load_lib llvm.exp - -RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{ll,c,cpp}]] diff --git a/test/Analysis/LoadVN/undefined_load.ll b/test/Analysis/LoadVN/undefined_load.ll deleted file mode 100644 index ba6049e..0000000 --- a/test/Analysis/LoadVN/undefined_load.ll +++ /dev/null @@ -1,14 +0,0 @@ -; RUN: llvm-as < %s | opt -load-vn -gcse | llvm-dis | not grep load -; Test that loads of undefined memory are eliminated. - -define i32 @test1() { - %X = malloc i32 ; <i32*> [#uses=1] - %Y = load i32* %X ; <i32> [#uses=1] - ret i32 %Y -} - -define i32 @test2() { - %X = alloca i32 ; <i32*> [#uses=1] - %Y = load i32* %X ; <i32> [#uses=1] - ret i32 %Y -} |