; RUN: opt < %s -deadargelim -S | not grep DEADARG

; test - an obviously dead argument
define internal i32 @test(i32 %v, i32 %DEADARG1, i32* %p) {
        store i32 %v, i32* %p
        ret i32 %v
}

; hardertest - an argument which is only used by a call of a function with a 
; dead argument.
define internal i32 @hardertest(i32 %DEADARG2) {
        %p = alloca i32         ; <i32*> [#uses=1]
        %V = call i32 @test( i32 5, i32 %DEADARG2, i32* %p )            ; <i32> [#uses=1]
        ret i32 %V
}

; evenhardertest - recursive dead argument...
define internal void @evenhardertest(i32 %DEADARG3) {
        call void @evenhardertest( i32 %DEADARG3 )
        ret void
}

define internal void @needarg(i32 %TEST) {
        call i32 @needarg2( i32 %TEST )         ; <i32>:1 [#uses=0]
        ret void
}

define internal i32 @needarg2(i32 %TEST) {
        ret i32 %TEST
}

define internal void @needarg3(i32 %TEST3) {
        call void @needarg( i32 %TEST3 )
        ret void
}

