1- ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
1+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: -p
22; RUN: opt -S -o - -structurizecfg < %s | FileCheck %s
33
4- define void @test1 () {
4+ define void @test1 (i1 %arg ) {
55; CHECK-LABEL: @test1(
66; CHECK-NEXT: entry:
7- ; CHECK-NEXT: br label [[LOOP:%.*]]
7+ ; CHECK-NEXT: %arg.inv = xor i1 %arg, true
8+ ; CHECK-NEXT: br label %loop
89; CHECK: Flow:
9- ; CHECK-NEXT: br label [[FLOW1:%.*]]
10+ ; CHECK-NEXT: br label %Flow1
1011; CHECK: loop:
11- ; CHECK-NEXT: [[CTR:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[TMP0:%.*]], [[FLOW1]] ]
12- ; CHECK-NEXT: [[CTR_NEXT:%.*]] = add i32 [[CTR]] , 1
13- ; CHECK-NEXT: br i1 undef , label [[LOOP_A:%.*]] , label [[FLOW1]]
12+ ; CHECK-NEXT: %ctr = phi i32 [ 0, %entry ], [ %0, %Flow1 ]
13+ ; CHECK-NEXT: %ctr.next = add i32 %ctr , 1
14+ ; CHECK-NEXT: br i1 %arg.inv , label %loop.a , label %Flow1
1415; CHECK: loop.a:
15- ; CHECK-NEXT: br i1 undef , label [[LOOP_B:%.*]] , label [[FLOW:%.*]]
16+ ; CHECK-NEXT: br i1 %arg.inv , label %loop.b , label %Flow
1617; CHECK: loop.b:
17- ; CHECK-NEXT: br label [[FLOW]]
18+ ; CHECK-NEXT: br label %Flow
1819; CHECK: Flow1:
19- ; CHECK-NEXT: [[TMP0]] = phi i32 [ [[CTR_NEXT]], [[FLOW]] ], [ undef, [[LOOP]] ]
20- ; CHECK-NEXT: [[TMP1:%.*]] = phi i1 [ false, [[FLOW]] ], [ true, [[LOOP]] ]
21- ; CHECK-NEXT: br i1 [[TMP1]] , label [[EXIT:%.*]] , label [[LOOP]]
20+ ; CHECK-NEXT: %0 = phi i32 [ %ctr.next, %Flow ], [ undef, %loop ]
21+ ; CHECK-NEXT: %1 = phi i1 [ false, %Flow ], [ true, %loop ]
22+ ; CHECK-NEXT: br i1 %1 , label %exit , label %loop
2223; CHECK: exit:
2324; CHECK-NEXT: ret void
2425;
@@ -28,10 +29,10 @@ entry:
2829loop:
2930 %ctr = phi i32 [ 0 , %entry ], [ %ctr.next , %loop.a ], [ %ctr.next , %loop.b ]
3031 %ctr.next = add i32 %ctr , 1
31- br i1 undef , label %exit , label %loop.a
32+ br i1 %arg , label %exit , label %loop.a
3233
3334loop.a:
34- br i1 undef , label %loop , label %loop.b
35+ br i1 %arg , label %loop , label %loop.b
3536
3637loop.b:
3738 br label %loop
0 commit comments