fee514e0c409eefcb614978d89b25a6ac0155e4d
[oota-llvm.git] / test / BugPoint / remove_arguments_test.ll
1 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes
2 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
3 ; REQUIRES: loadable_module
4
5 ; Test to make sure that arguments are removed from the function if they are
6 ; unnecessary. And clean up any types that frees up too.
7
8 ; CHECK: target triple
9 ; CHECK-NOT: struct.anon
10 %struct.anon = type { i32 }
11
12 declare i32 @test2()
13
14 ; CHECK: define void @test() {
15 define i32 @test(i32 %A, %struct.anon* %B, float %C) {
16         call i32 @test2()
17         ret i32 %1
18 }