; RUN: opt -S < %s -jump-threading -jump-threading-across-loop-headers | FileCheck %s | |
; CHECK-LABEL: @foo | |
; Just check that we don't hang on this test. | |
define void @foo(i32 %a) { | |
bb_entry: | |
br label %bb_header | |
bb_header: | |
%b = phi i32 [ %c, %bb_header ], [ 0, %bb_body1 ], [ 2, %bb_body2 ], [ 0, %bb_entry ] | |
%c = add nuw nsw i32 %b, 1 | |
%d = icmp ult i32 %c, 6 | |
br i1 %d, label %bb_header, label %bb_body1 | |
bb_body1: | |
%e = icmp eq i32 %a, 0 | |
br i1 %e, label %bb_body2, label %bb_header | |
bb_body2: | |
br label %bb_header | |
} |