• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: mlir-opt %s -mlir-disable-threading=true -verify-each=true -pass-pipeline='func(cse,canonicalize,cse)' -pass-timing -pass-timing-display=list 2>&1 | FileCheck -check-prefix=LIST %s
2// RUN: mlir-opt %s -mlir-disable-threading=true -verify-each=true -pass-pipeline='func(cse,canonicalize,cse)' -pass-timing -pass-timing-display=pipeline 2>&1 | FileCheck -check-prefix=PIPELINE %s
3// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=true -pass-pipeline='func(cse,canonicalize,cse)' -pass-timing -pass-timing-display=list 2>&1 | FileCheck -check-prefix=MT_LIST %s
4// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=true -pass-pipeline='func(cse,canonicalize,cse)' -pass-timing -pass-timing-display=pipeline 2>&1 | FileCheck -check-prefix=MT_PIPELINE %s
5// RUN: mlir-opt %s -mlir-disable-threading=false -verify-each=false -test-pm-nested-pipeline -pass-timing -pass-timing-display=pipeline 2>&1 | FileCheck -check-prefix=NESTED_MT_PIPELINE %s
6
7// LIST: Pass execution timing report
8// LIST: Total Execution Time:
9// LIST: Name
10// LIST-DAG: Canonicalizer
11// LIST-DAG: CSE
12// LIST-DAG: DominanceInfo
13// LIST: Total
14
15// PIPELINE: Pass execution timing report
16// PIPELINE: Total Execution Time:
17// PIPELINE: Name
18// PIPELINE-NEXT: 'func' Pipeline
19// PIPELINE-NEXT:   CSE
20// PIPELINE-NEXT:     (A) DominanceInfo
21// PIPELINE-NEXT:   Canonicalizer
22// PIPELINE-NEXT:   CSE
23// PIPELINE-NEXT:     (A) DominanceInfo
24// PIPELINE-NEXT: Total
25
26// MT_LIST: Pass execution timing report
27// MT_LIST: Total Execution Time:
28// MT_LIST: Name
29// MT_LIST-DAG: Canonicalizer
30// MT_LIST-DAG: CSE
31// MT_LIST-DAG: DominanceInfo
32// MT_LIST: Total
33
34// MT_PIPELINE: Pass execution timing report
35// MT_PIPELINE: Total Execution Time:
36// MT_PIPELINE: Name
37// MT_PIPELINE-NEXT: 'func' Pipeline
38// MT_PIPELINE-NEXT:   CSE
39// MT_PIPELINE-NEXT:     (A) DominanceInfo
40// MT_PIPELINE-NEXT:   Canonicalizer
41// MT_PIPELINE-NEXT:   CSE
42// MT_PIPELINE-NEXT:     (A) DominanceInfo
43// MT_PIPELINE-NEXT: Total
44
45// NESTED_MT_PIPELINE: Pass execution timing report
46// NESTED_MT_PIPELINE: Total Execution Time:
47// NESTED_MT_PIPELINE: Name
48// NESTED_MT_PIPELINE-NEXT: Pipeline Collection : ['func', 'module']
49// NESTED_MT_PIPELINE-NEXT:   'func' Pipeline
50// NESTED_MT_PIPELINE-NEXT:     TestFunctionPass
51// NESTED_MT_PIPELINE-NEXT:   'module' Pipeline
52// NESTED_MT_PIPELINE-NEXT:     TestModulePass
53// NESTED_MT_PIPELINE-NEXT:     'func' Pipeline
54// NESTED_MT_PIPELINE-NEXT:       TestFunctionPass
55// NESTED_MT_PIPELINE-NEXT: Total
56
57func @foo() {
58  return
59}
60
61func @bar() {
62  return
63}
64
65func @baz() {
66  return
67}
68
69func @foobar() {
70  return
71}
72
73module {
74  func @baz() {
75    return
76  }
77
78  func @foobar() {
79    return
80  }
81}
82