xref: /aosp_15_r20/external/llvm/test/Other/loop-pass-ordering.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -disable-output -debug-pass-manager \
2*9880d681SAndroid Build Coastguard Worker; RUN:     -passes='no-op-loop' %s 2>&1 \
3*9880d681SAndroid Build Coastguard Worker; RUN:     | FileCheck %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker;            @f()
6*9880d681SAndroid Build Coastguard Worker;           /    \
7*9880d681SAndroid Build Coastguard Worker;       loop.0   loop.1
8*9880d681SAndroid Build Coastguard Worker;      /      \        \
9*9880d681SAndroid Build Coastguard Worker; loop.0.0  loop.0.1  loop.1.0
10*9880d681SAndroid Build Coastguard Worker;
11*9880d681SAndroid Build Coastguard Worker; CHECK: Running pass: NoOpLoopPass on loop.1.0
12*9880d681SAndroid Build Coastguard Worker; CHECK: Running pass: NoOpLoopPass on loop.1
13*9880d681SAndroid Build Coastguard Worker; CHECK: Running pass: NoOpLoopPass on loop.0.0
14*9880d681SAndroid Build Coastguard Worker; CHECK: Running pass: NoOpLoopPass on loop.0.1
15*9880d681SAndroid Build Coastguard Worker; CHECK: Running pass: NoOpLoopPass on loop.0
16*9880d681SAndroid Build Coastguard Workerdefine void @f() {
17*9880d681SAndroid Build Coastguard Workerentry:
18*9880d681SAndroid Build Coastguard Worker  br label %loop.0
19*9880d681SAndroid Build Coastguard Workerloop.0:
20*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.0.0, label %loop.1
21*9880d681SAndroid Build Coastguard Workerloop.0.0:
22*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.0.0, label %loop.0.1
23*9880d681SAndroid Build Coastguard Workerloop.0.1:
24*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.0.1, label %loop.0
25*9880d681SAndroid Build Coastguard Workerloop.1:
26*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.1, label %loop.1.bb1
27*9880d681SAndroid Build Coastguard Workerloop.1.bb1:
28*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.1, label %loop.1.bb2
29*9880d681SAndroid Build Coastguard Workerloop.1.bb2:
30*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %end, label %loop.1.0
31*9880d681SAndroid Build Coastguard Workerloop.1.0:
32*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %loop.1.0, label %loop.1
33*9880d681SAndroid Build Coastguard Workerend:
34*9880d681SAndroid Build Coastguard Worker  ret void
35*9880d681SAndroid Build Coastguard Worker}
36