Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Other / no-rerun-function-simplification-pipeline.ll
blobff797d06ad8309f1981ed1110c6ae421fa7bb426
1 ; RUN: opt < %s -passes='default<O1>' -disable-output -debug-pass-manager=verbose 2>&1 | FileCheck %s
2 ; RUN: opt < %s -passes='default<O2>' -disable-output -debug-pass-manager=verbose 2>&1 | FileCheck %s
4 ; BDCE only runs once in the function simplification pipeline and nowhere else so we use that to check for reruns.
6 ; CHECK: PassManager{{.*}}SCC{{.*}} on (f1)
7 ; CHECK: Running pass: BDCEPass on f1
8 ; CHECK: PassManager{{.*}}SCC{{.*}} on (f2, f3)
9 ; CHECK: Running pass: BDCEPass on f2
10 ; CHECK-NOT: BDCEPass
11 ; CHECK: PassManager{{.*}}SCC{{.*}} on (f2)
12 ; CHECK-NOT: Running pass: BDCEPass on f2
13 ; CHECK: PassManager{{.*}}SCC{{.*}} on (f3)
14 ; CHECK: Running pass: BDCEPass on f3
16 define void @f1(ptr %p) alwaysinline {
17   call void %p()
18   ret void
21 define void @f2() #0 {
22   call void @f1(ptr @f2)
23   call void @f3()
24   ret void
27 define void @f3() #0 {
28   call void @f2()
29   ret void
32 attributes #0 = { nofree noreturn nosync nounwind readnone noinline }