[LLVM] Fix Maintainers.md formatting (NFC)
[llvm-project.git] / flang / test / Driver / bbc-mlir-pass-pipeline.f90
blob5520d750e2ce1c5f230eac3bb68a06d99a2420cf
1 ! Test the MLIR pass pipeline
3 ! RUN: bbc --mlir-pass-statistics --mlir-pass-statistics-display=pipeline %s 2>&1 | FileCheck %s
5 ! REQUIRES: asserts
7 end program
9 ! CHECK: Pass statistics report
11 ! CHECK: Fortran::lower::VerifierPass
12 ! CHECK-NEXT: CSE
13 ! Ideally, we need an output with only the pass names, but
14 ! there is currently no way to get that, so in order to
15 ! guarantee that the passes are in the expected order
16 ! (i.e. use -NEXT) we have to check the statistics output as well.
17 ! CHECK-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
18 ! CHECK-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
20 ! CHECK-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private']
21 ! CHECK-NEXT: 'fir.global' Pipeline
22 ! CHECK-NEXT: CharacterConversion
23 ! CHECK-NEXT: 'func.func' Pipeline
24 ! CHECK-NEXT: ArrayValueCopy
25 ! CHECK-NEXT: CharacterConversion
26 ! CHECK-NEXT: 'omp.declare_reduction' Pipeline
27 ! CHECK-NEXT: CharacterConversion
28 ! CHECK-NEXT: 'omp.private' Pipeline
29 ! CHECK-NEXT: CharacterConversion
31 ! CHECK-NEXT: Canonicalizer
32 ! CHECK-NEXT: SimplifyRegionLite
33 ! CHECK-NEXT: SimplifyIntrinsics
34 ! CHECK-NEXT: AlgebraicSimplification
35 ! CHECK-NEXT: CSE
36 ! CHECK-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
37 ! CHECK-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
39 ! CHECK-NEXT: 'func.func' Pipeline
40 ! CHECK-NEXT: MemoryAllocationOpt
42 ! CHECK-NEXT: Inliner
43 ! CHECK-NEXT: SimplifyRegionLite
44 ! CHECK-NEXT: CSE
45 ! CHECK-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
46 ! CHECK-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
48 ! CHECK-NEXT: PolymorphicOpConversion
49 ! CHECK-NEXT: AssumedRankOpConversion
51 ! CHECK-NEXT: Pipeline Collection : ['fir.global', 'func.func', 'omp.declare_reduction', 'omp.private']
52 ! CHECK-NEXT: 'fir.global' Pipeline
53 ! CHECK-NEXT: StackReclaim
54 ! CHECK-NEXT: CFGConversion
55 ! CHECK-NEXT: 'func.func' Pipeline
56 ! CHECK-NEXT: StackReclaim
57 ! CHECK-NEXT: CFGConversion
58 ! CHECK-NEXT: 'omp.declare_reduction' Pipeline
59 ! CHECK-NEXT: StackReclaim
60 ! CHECK-NEXT: CFGConversion
61 ! CHECK-NEXT: 'omp.private' Pipeline
62 ! CHECK-NEXT: StackReclaim
63 ! CHECK-NEXT: CFGConversion
65 ! CHECK-NEXT: SCFToControlFlow
66 ! CHECK-NEXT: Canonicalizer
67 ! CHECK-NEXT: SimplifyRegionLite
68 ! CHECK-NEXT: CSE
69 ! CHECK-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
70 ! CHECK-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
71 ! CHECK-NOT: LLVMIRLoweringPass