xref: /llvm-project/llvm/test/Transforms/SLPVectorizer/phi-not-ordered.ll (revision 5f928a223ef2c14701eab3077a534c1e49269a51)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2; RUN: opt -passes=slp-vectorizer -S < %s | FileCheck %s
3
4define void @f(i16 %0) {
5; CHECK-LABEL: @f(
6; CHECK-NEXT:  entry:
7; CHECK-NEXT:    br label [[FOR_COND:%.*]]
8; CHECK:       for.cond:
9; CHECK-NEXT:    [[TMP1:%.*]] = phi i16 [ 0, [[FOR_END5:%.*]] ], [ [[TMP0:%.*]], [[ENTRY:%.*]] ]
10; CHECK-NEXT:    [[B_0:%.*]] = phi i16 [ 0, [[ENTRY]] ], [ [[INC:%.*]], [[FOR_END5]] ]
11; CHECK-NEXT:    [[INC]] = add i16 0, 0
12; CHECK-NEXT:    br label [[FOR_BODY2:%.*]]
13; CHECK:       for.body2:
14; CHECK-NEXT:    br label [[FOR_BODY2]]
15; CHECK:       for.end5:
16; CHECK-NEXT:    br label [[FOR_COND]]
17;
18entry:
19  br label %for.cond
20
21for.cond:
22  %1 = phi i16 [ 0, %for.end5 ], [ %0, %entry ]
23  %b.0 = phi i16 [ 0, %entry ], [ %inc, %for.end5 ]
24  %inc = add i16 0, 0
25  br label %for.body2
26
27for.body2:
28  br label %for.body2
29
30for.end5:
31  br label %for.cond
32}
33