1; RUN: opt < %s -adce -disable-output
2; RUN: opt < %s -adce -adce-remove-loops -disable-output
3
4@G = external global i32*               ; <i32**> [#uses=1]
5
6declare void @Fn(i32*)
7
8define i32 @main(i32 %argc.1, i8** %argv.1) {
9entry:
10        br label %endif.42
11
12endif.42:               ; preds = %shortcirc_done.12, %then.66, %endif.42, %entry
13        br i1 false, label %endif.65, label %endif.42
14
15then.66:                ; preds = %shortcirc_done.12
16        call void @Fn( i32* %tmp.2846 )
17        br label %endif.42
18
19endif.65:               ; preds = %endif.42
20        %tmp.2846 = load i32*, i32** @G               ; <i32*> [#uses=1]
21        br i1 false, label %shortcirc_next.12, label %shortcirc_done.12
22
23shortcirc_next.12:              ; preds = %endif.65
24        br label %shortcirc_done.12
25
26shortcirc_done.12:              ; preds = %shortcirc_next.12, %endif.65
27        br i1 false, label %then.66, label %endif.42
28}
29
30