| ; 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 |
| } |
| |