; RUN: llc < %s

;; Date:     May 28, 2003.
;; From:     test/Programs/SingleSource/richards_benchmark.c
;; Function: struct task *handlerfn(struct packet *pkt)
;;
;; Error:    PreSelection puts the arguments of the Phi just before
;;           the Phi instead of in predecessor blocks.  This later
;;           causes llc to produces an invalid register <NULL VALUE>
;;           for the phi arguments.

        %struct..packet = type { %struct..packet*, i32, i32, i32, [4 x i8] }
        %struct..task = type { %struct..task*, i32, i32, %struct..packet*, i32, %struct..task* (%struct..packet*)*, i32, i32 }
@v1 = external global i32               ; <i32*> [#uses=1]
@v2 = external global i32               ; <i32*> [#uses=1]

define %struct..task* @handlerfn(%struct..packet* %pkt.2) {
entry:
        %tmp.1 = icmp ne %struct..packet* %pkt.2, null          ; <i1> [#uses=1]
        br i1 %tmp.1, label %cond_false, label %cond_continue

cond_false:             ; preds = %entry
        br label %cond_continue

cond_continue:          ; preds = %cond_false, %entry
        %mem_tmp.0 = phi i32* [ @v2, %cond_false ], [ @v1, %entry ]             ; <i32*> [#uses=1]
        %tmp.12 = bitcast i32* %mem_tmp.0 to %struct..packet*           ; <%struct..packet*> [#uses=1]
        call void @append( %struct..packet* %pkt.2, %struct..packet* %tmp.12 )
        ret %struct..task* null
}

declare void @append(%struct..packet*, %struct..packet*)

