File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed
Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change 22
33Ivan Butygin, Renato Golin
44
5+ ## Summary
6+
7+ We propose a new API to build a dependencies-based graph of pass pipelines.
8+
59## Motivation
610
7- TBD use cases from IREE, TPP
11+ At this point MLIR pass infrastruture only allows to define a linear sequence of passes. While this approach works
12+ for simple cases, more complex compiler pipelines may require more control over passes execution order.
13+
14+ Two main usecases we are considering:
15+ * Extensibility. We want to have the abilty for users to extend existing pipeline by inserting theirs custom passes
16+ into various places while reusing most of the exiting pipeline. With current approach the most common way way to achieve this is
17+ for pipeline developer to add a fixed 'extension point' during initial pipeline design.
18+ * Dynamic pipeline control flow. It's often required to have an ability select specific sequence of passes based on some info which
19+ is only becomes available durin compilation process. It can be either branching to some separate sequnces of passes based on selected codegen path
20+ or running sequence of passes in the loop until some runtime condition is reached.
821
922## Proposal
1023
11- We propose a new API to build a dependencies-based graph of pass pipelines.
1224This API also allows a dynamic control flow between pipelines in graph, controlled by passes inside said pipelines.
1325
1426## New APIs
You can’t perform that action at this time.
0 commit comments