X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FBugPoint%2Fremove_arguments_test.ll;h=5a45f846e1039f79ea7c4bf6f51eaf0c008c969b;hb=1b0dc64919e947bb4f4677b138c734e33061f7c4;hp=ed77da7cb830a7bbfe6cfb61a4539636775d0c40;hpb=73e70822ae9dd03f092b1ae56c5fed6d39b7af3c;p=oota-llvm.git diff --git a/test/BugPoint/remove_arguments_test.ll b/test/BugPoint/remove_arguments_test.ll index ed77da7cb83..5a45f846e10 100644 --- a/test/BugPoint/remove_arguments_test.ll +++ b/test/BugPoint/remove_arguments_test.ll @@ -1,10 +1,19 @@ -; RUN: llvm-upgrade < %s > %t1.ll -; RUN: bugpoint %t1.ll -bugpoint-crashcalls +; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes +; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s +; REQUIRES: loadable_module +; XFAIL: lto_on_osx -; Test to make sure that arguments are removed from the function if they are unnecessary. +; Test to make sure that arguments are removed from the function if they are +; unnecessary. And clean up any types that that frees up too. -declare int %test2() -int %test(int %A, int %B, float %C) { - call int %test2() - ret int %0 +; CHECK: target triple +; CHECK-NOT: struct.anon +%struct.anon = type { i32 } + +declare i32 @test2() + +; CHECK: define void @test() { +define i32 @test(i32 %A, %struct.anon* %B, float %C) { + call i32 @test2() + ret i32 %1 }