blob: 089aefb6e000f6e761ed023820f64727ed1b2929 [file] [log] [blame]
Rafael Espindola92a4a832010-08-07 21:48:09 +00001; FIXME: This likely fails on windows
Rafael Espindola8aa19b02010-08-08 00:55:59 +00002; RUN: bugpoint -load %llvmlibsdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes
Dan Gohman22e1adb2010-06-07 20:58:11 +00003; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
Chris Lattneref3d5d02003-06-24 23:40:27 +00004
Reid Spencer104b4702007-03-19 18:08:42 +00005; Test to make sure that arguments are removed from the function if they are
Dan Gohmanfa9ad132010-06-07 20:28:37 +00006; unnecessary. And clean up any types that that frees up too.
7
8; CHECK: target triple
9; CHECK-NOT: struct.anon
10%struct.anon = type { i32 }
Chris Lattneref3d5d02003-06-24 23:40:27 +000011
Reid Spencer104b4702007-03-19 18:08:42 +000012declare i32 @test2()
13
Dan Gohmanfb8ed432010-06-07 20:20:33 +000014; CHECK: define void @test() {
Dan Gohmanfa9ad132010-06-07 20:28:37 +000015define i32 @test(i32 %A, %struct.anon* %B, float %C) {
Reid Spencer104b4702007-03-19 18:08:42 +000016 call i32 @test2()
17 ret i32 %1
Chris Lattneref3d5d02003-06-24 23:40:27 +000018}