1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -S -indvars -verify-scev < %s | FileCheck %s
3
4define void @test() {
5; CHECK-LABEL: @test(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    br label [[FOR_COND:%.*]]
8; CHECK:       for.cond:
9; CHECK-NEXT:    br i1 false, label [[FOR_COND92_PREHEADER:%.*]], label [[FOR_END106:%.*]]
10; CHECK:       for.cond92.preheader:
11; CHECK-NEXT:    br label [[FOR_COND92:%.*]]
12; CHECK:       for.cond92:
13; CHECK-NEXT:    br i1 false, label [[FOR_BODY94:%.*]], label [[FOR_END:%.*]]
14; CHECK:       for.body94:
15; CHECK-NEXT:    br label [[FOR_COND92]]
16; CHECK:       for.end:
17; CHECK-NEXT:    br label [[FOR_COND]]
18; CHECK:       for.end106:
19; CHECK-NEXT:    ret void
20;
21entry:
22  br label %for.cond
23
24for.cond:                                         ; preds = %for.end, %entry
25  %0 = phi i32 [ %inc105, %for.end ], [ 0, %entry ]
26  %cmp = icmp sge i32 %0, 1
27  br i1 %cmp, label %for.cond92, label %for.end106
28
29for.cond92:                                       ; preds = %for.body94, %for.cond
30  %1 = phi i16 [ %inc, %for.body94 ], [ 0, %for.cond ]
31  %cmp93 = icmp slt i16 %1, 1
32  br i1 %cmp93, label %for.body94, label %for.end
33
34for.body94:                                       ; preds = %for.cond92
35  %inc = add nsw i16 %1, 1
36  br label %for.cond92
37
38for.end:                                          ; preds = %for.cond92
39  %inc105 = add nsw i32 %0, 1
40  br label %for.cond
41
42for.end106:                                       ; preds = %for.cond
43  ret void
44}
45
46