[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / JumpThreading / PR44611-across-header-hang.ll
blobd36a3a19f2fef512f61dd5d9fdf9da80d409f20b
1 ; RUN: opt -S < %s -jump-threading -jump-threading-across-loop-headers | FileCheck %s
3 ; CHECK-LABEL: @foo
4 ; Just check that we don't hang on this test.
6 define void @foo(i32 %a) {
7 bb_entry:
8   br label %bb_header
10 bb_header:
11   %b = phi i32 [ %c, %bb_header ], [ 0, %bb_body1 ], [ 2, %bb_body2 ], [ 0, %bb_entry ]
12   %c = add nuw nsw i32 %b, 1
13   %d = icmp ult i32 %c, 6
14   br i1 %d, label %bb_header, label %bb_body1
16 bb_body1:
17   %e = icmp eq i32 %a, 0
18   br i1 %e, label %bb_body2, label %bb_header
20 bb_body2:
21   br label %bb_header