From: Chris Lattner Date: Thu, 1 Jun 2006 21:54:58 +0000 (+0000) Subject: testcase for the recent inliner improvement. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=29c312300ebfaa8987c744e3cc60dc8fdf6a6738;p=oota-llvm.git testcase for the recent inliner improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28643 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/Inline/inline_prune.ll b/test/Transforms/Inline/inline_prune.ll new file mode 100644 index 00000000000..fdbdf8346f9 --- /dev/null +++ b/test/Transforms/Inline/inline_prune.ll @@ -0,0 +1,40 @@ +; RUN: llvm-as < %s | opt -inline -disable-output && +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep 'callee[12](' && +; RUN: llvm-as < %s | opt -inline | llvm-dis | not grep mul + +implementation + +internal int %callee1(int %A, int %B) { + %cond = seteq int %A, 123 + br bool %cond, label %T, label %F +T: + %C = mul int %B, %B + ret int %C +F: + ret int 0 +} + +internal int %callee2(int %A, int %B) { + switch int %A, label %T [ + int 10, label %F + int 1234, label %G + ] + %cond = seteq int %A, 123 + br bool %cond, label %T, label %F +T: + %C = mul int %B, %B + ret int %C +F: + ret int 0 +G: + %D = mul int %B, %B + %E = mul int %D, %B + ret int %E +} + +int %test(int %A) { + %X = call int %callee1(int 10, int %A) + %Y = call int %callee2(int 10, int %A) + %Z = add int %X, %Y + ret int %Z +}