blob: 4f129ab1d061302777b935f59c2fac30a92d1642 [file] [log] [blame]
Dan Gohmanf17a25c2007-07-18 16:29:46 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -deadargelim -die | llvm-dis | not grep DEAD
2
3%P = external global int
4
5implementation
6
7
8internal int %test(int %DEADARG) { ; Dead arg only used by dead retval
9 ret int %DEADARG
10}
11
12internal int %test2(int %DEADARG) {
13 %DEADRETVAL = call int %test(int %DEADARG)
14 ret int %DEADRETVAL
15}
16
17void %test3(int %X) {
18 %DEADRETVAL = call int %test2(int %X)
19 ret void
20}
21
22internal int %foo() {
23 %DEAD = load int* %P
24 ret int %DEAD
25}
26
27internal int %id(int %X) {
28 ret int %X
29}
30
31void %test4() {
32 %DEAD = call int %foo()
33 %DEAD2 = call int %id(int %DEAD)
34 ret void
35}
36