1// RUN: tco %s | FileCheck %s
2// RUN: tco %s --mlir-pass-statistics --mlir-pass-statistics-display=pipeline 2>&1 | FileCheck %s --check-prefix=PASSES
3
4// Check that tco is working with a basic test.
5// Also check the passes in the default pipeline.
6
7func.func @_QQmain() {
8  return
9}
10
11// CHECK: ; ModuleID = 'FIRModule'
12// CHECK-LABEL: define void @_QQmain()
13// CHECK:       ret void
14
15// PASSES: Pass statistics report
16
17// PASSES: CSE
18// PASSES-LABEL: 'func.func' Pipeline
19// PASSES: ArrayValueCopy
20// PASSES: CharacterConversion
21// PASSES: Canonicalizer
22// PASSES: SimplifyRegionLite
23// PASSES: CSE
24
25// PASSES-LABEL: 'func.func' Pipeline
26// PASSES: MemoryAllocationOpt
27// PASSES: Inliner
28// PASSES: CSE
29
30// PASSES-LABEL: 'func.func' Pipeline
31// PASSES: CFGConversion
32// PASSES: SCFToControlFlow
33// PASSES: Canonicalizer
34// PASSES: SimplifyRegionLite
35// PASSES: CSE
36// PASSES: BoxedProcedurePass
37
38// PASSES-LABEL: 'func.func' Pipeline
39// PASSES: AbstractResultOpt
40// PASSES: CodeGenRewrite
41// PASSES: TargetRewrite
42// PASSES: FIRToLLVMLowering
43// PASSES: LLVMIRLoweringPass
44