2003-06-11-InvalidCFG.ll   [plain text]


; RUN: llvm-as < %s | opt -adce -disable-output

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

declare void @Fn(i32*)

define i32 @main(i32 %argc.1, i8** %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( i32* %tmp.2846 )
        br label %endif.42

endif.65:               ; preds = %endif.42
        %tmp.2846 = load i32** @G               ; <i32*> [#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
}