llvm/llvm/test/Transforms/ADCE/2003-06-11-InvalidCFG.ll

; RUN: opt < %s -passes=adce -disable-output
; RUN: opt < %s -passes=adce -adce-remove-loops -disable-output

@G = external global ptr               ; <ptr> [#uses=1]

declare void @Fn(ptr)

define i32 @main(i32 %argc.1, ptr %argv.1) {
entry:
        br label %endif.42

endif.42:               ; preds = %shortcirc_done.12, %then.66, %endif.42, %entry
        br i1 false, label %endif.65, label %endif.42

then.66:                ; preds = %shortcirc_done.12
        call void @Fn( ptr %tmp.2846 )
        br label %endif.42

endif.65:               ; preds = %endif.42
        %tmp.2846 = load ptr, ptr @G               ; <ptr> [#uses=1]
        br i1 false, label %shortcirc_next.12, label %shortcirc_done.12

shortcirc_next.12:              ; preds = %endif.65
        br label %shortcirc_done.12

shortcirc_done.12:              ; preds = %shortcirc_next.12, %endif.65
        br i1 false, label %then.66, label %endif.42
}