Try 2 to merge 4fbd1d6c872e8228f23a6e13914222af40ca6461. Flang algebraic simplification pass will run algebraic simplification rewrite patterns for Math/Complex/etc. dialects. It is enabled under opt-for-speed optimization levels (i.e. for O1/O2/O3; Os/Oz will not enable it). With this change the FIR/MLIR optimization pipeline becomes affected by the -O* optimization level switches. Until now these switches only affected the middle-end and back-end. Differential Revision: https://reviews.llvm.org/D130035
61 lines
1.8 KiB
Plaintext
61 lines
1.8 KiB
Plaintext
// RUN: tco %s | FileCheck %s
|
|
// RUN: tco %s --mlir-pass-statistics --mlir-pass-statistics-display=pipeline 2>&1 | FileCheck %s --check-prefix=PASSES
|
|
|
|
// REQUIRES: asserts
|
|
|
|
// Check that tco is working with a basic test.
|
|
// Also check the passes in the default pipeline.
|
|
|
|
func.func @_QQmain() {
|
|
return
|
|
}
|
|
|
|
// CHECK: ; ModuleID = 'FIRModule'
|
|
// CHECK-LABEL: define void @_QQmain()
|
|
// CHECK: ret void
|
|
|
|
// PASSES: Pass statistics report
|
|
|
|
// PASSES: CSE
|
|
// PASSES-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
|
|
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
|
|
|
|
// PASSES-NEXT: 'func.func' Pipeline
|
|
// PASSES-NEXT: ArrayValueCopy
|
|
// PASSES-NEXT: CharacterConversion
|
|
|
|
// PASSES-NEXT: Canonicalizer
|
|
// PASSES-NEXT: SimplifyRegionLite
|
|
// PASSES-NEXT: AlgebraicSimplification
|
|
// PASSES-NEXT: CSE
|
|
// PASSES-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
|
|
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
|
|
|
|
// PASSES-NEXT: 'func.func' Pipeline
|
|
// PASSES-NEXT: MemoryAllocationOpt
|
|
|
|
// PASSES-NEXT: Inliner
|
|
// PASSES-NEXT: CSE
|
|
// PASSES-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
|
|
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
|
|
|
|
// PASSES-NEXT: 'func.func' Pipeline
|
|
// PASSES-NEXT: CFGConversion
|
|
|
|
// PASSES-NEXT: SCFToControlFlow
|
|
// PASSES-NEXT: Canonicalizer
|
|
// PASSES-NEXT: SimplifyRegionLite
|
|
// PASSES-NEXT: CSE
|
|
// PASSES-NEXT: (S) 0 num-cse'd - Number of operations CSE'd
|
|
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations DCE'd
|
|
// PASSES-NEXT: BoxedProcedurePass
|
|
|
|
// PASSES-NEXT: 'func.func' Pipeline
|
|
// PASSES-NEXT: AbstractResultOpt
|
|
|
|
// PASSES-NEXT: CodeGenRewrite
|
|
// PASSES-NEXT: (S) 0 num-dce'd - Number of operations eliminated
|
|
// PASSES-NEXT: TargetRewrite
|
|
// PASSES-NEXT: FIRToLLVMLowering
|
|
// PASSES-NEXT: LLVMIRLoweringPass
|