d43d577305bde74eaa509b697b847cff2c6d5581
[oota-llvm.git] / test / Transforms / DeadArgElim / basictest.ll
1 ; RUN: as < %s | opt -deadargelim | dis | not grep DEADARG
2
3 implementation
4
5 ; test - an obviously dead argument
6 internal int %test(int %v, int %DEADARG1, int* %p) {
7         store int %v, int* %p
8         ret int %v
9 }
10
11 ; hardertest - an argument which is only used by a call of a function with a 
12 ; dead argument.
13 internal int %hardertest(int %DEADARG2) {
14         %p = alloca int
15         %V = call int %test(int 5, int %DEADARG2, int* %p)
16         ret int %V
17 }
18
19 ; evenhardertest - recursive dead argument...
20 internal void %evenhardertest(int %DEADARG3) {
21         call void %evenhardertest(int %DEADARG3)
22         ret void
23 }
24
25 internal void %needarg(int %TEST) {
26         call int %needarg2(int %TEST)
27         ret void
28 }
29
30 internal int %needarg2(int %TEST) {
31         ret int %TEST
32 }
33
34 internal void %needarg3(int %TEST3) {
35         call void %needarg(int %TEST3)
36         ret void
37 }