X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FBugPoint%2Fremove_arguments_test.ll;h=29a03b83107760e5c00629d3387b9f5036a87cb7;hb=fff65b354f9895f5add84d99e0f62176f5d3f0f6;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..29a03b83107 100644 --- a/test/BugPoint/remove_arguments_test.ll +++ b/test/BugPoint/remove_arguments_test.ll @@ -1,10 +1,18 @@ -; 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 -; 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 }