5a45f846e1039f79ea7c4bf6f51eaf0c008c969b
[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 ; XFAIL: lto_on_osx
5
6 ; Test to make sure that arguments are removed from the function if they are 
7 ; unnecessary. And clean up any types that that frees up too.
8
9 ; CHECK: target triple
10 ; CHECK-NOT: struct.anon
11 %struct.anon = type { i32 }
12
13 declare i32 @test2()
14
15 ; CHECK: define void @test() {
16 define i32 @test(i32 %A, %struct.anon* %B, float %C) {
17         call i32 @test2()
18         ret i32 %1
19 }