blob: 2596fa66fa2bb80a1c469aa90c84b02c01deb4a0 [file] [log] [blame]
; RUN: llvm-as < %s | opt -deadargelim -die | llvm-dis | not grep DEAD
%P = external global int
implementation
internal int %test(int %DEADARG) { ; Dead arg only used by dead retval
ret int %DEADARG
}
internal int %test2(int %DEADARG) {
%DEADRETVAL = call int %test(int %DEADARG)
ret int %DEADRETVAL
}
void %test3(int %X) {
%DEADRETVAL = call int %test2(int %X)
ret void
}
internal int %foo() {
%DEAD = load int* %P
ret int %DEAD
}
internal int %id(int %X) {
ret int %X
}
void %test4() {
%DEAD = call int %foo()
%DEAD2 = call int %id(int %DEAD)
ret void
}