X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FTransforms%2FDeadArgElim%2Fmultdeadretval.ll;h=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=53ebe352ab265aa029d16fe27426e32f07fef609;hp=bccd0dfdb3282beafe1cdfa763a0bbbae214bf3e;hpb=ca85d65277e7d07985712e49b267b34a65fe6aab;p=oota-llvm.git diff --git a/test/Transforms/DeadArgElim/multdeadretval.ll b/test/Transforms/DeadArgElim/multdeadretval.ll index bccd0dfdb32..e69de29bb2d 100644 --- a/test/Transforms/DeadArgElim/multdeadretval.ll +++ b/test/Transforms/DeadArgElim/multdeadretval.ll @@ -1,39 +0,0 @@ -; This test sees if return values (and arguments) are properly removed when they -; are unused. All unused values are typed i16, so we can easily check. We also -; run instcombine to fold insert/extractvalue chains and we run dce to clean up -; any remaining dead stuff. -; RUN: llvm-as < %s | opt -deadargelim -instcombine -dce | llvm-dis | not grep i16 - -define internal {i16, i32} @test(i16 %DEADARG) { - %A = insertvalue {i16,i32} undef, i16 1, 0 - %B = insertvalue {i16,i32} %A, i32 1001, 1 - ret {i16,i32} %B -} - -define internal {i32, i16} @test2() { - %DEAD = call i16 @test4() - %A = insertvalue {i32,i16} undef, i32 1, 0 - %B = insertvalue {i32,i16} %A, i16 %DEAD, 1 - ret {i32,i16} %B -} - -define internal i32 @test3(i16 %A) { - %ret = call {i16, i32} @test( i16 %A ) ; [#uses=0] - %DEAD = extractvalue {i16, i32} %ret, 0 - %LIVE = extractvalue {i16, i32} %ret, 1 - ret i32 %LIVE -} - -define internal i16 @test4() { - ret i16 0 -} - -define i32 @main() { - %ret = call {i32, i16} @test2() ; [#uses=1] - %LIVE = extractvalue {i32, i16} %ret, 0 - %DEAD = extractvalue {i32, i16} %ret, 1 - %Y = add i32 %LIVE, -123 ; [#uses=1] - %LIVE2 = call i32 @test3(i16 %DEAD) ; [#uses=1] - %Z = add i32 %LIVE2, %Y ; [#uses=1] - ret i32 %Z -}