From 0a63679267e4a2e81c6b193c25ed2579c65eb824 Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Mon, 7 Sep 2020 23:58:54 +0000 Subject: [PATCH] Add documentation for getDependentDialects() in the PassManagement infra docs Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D87181 --- mlir/docs/PassManagement.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mlir/docs/PassManagement.md b/mlir/docs/PassManagement.md index 92ca922..6e577db 100644 --- a/mlir/docs/PassManagement.md +++ b/mlir/docs/PassManagement.md @@ -104,6 +104,15 @@ struct MyOperationPass : public OperationPass { }; ``` +### Dependent Dialects + +Dialects must be loaded in the MLIRContext before entities from these dialects +(operations, types, attributes, ...) can be created. Dialects must be loaded +before starting the multi-threaded pass pipeline execution. To this end, a pass +that can create an entity from a dialect that isn't already loaded must express +this by overriding the `getDependentDialects()` method and declare this list of +Dialects explicitly. + ## Analysis Management An important concept, along with transformation passes, are analyses. These are @@ -684,6 +693,8 @@ It contains the following fields: * description - A longer, more detailed description of the pass. This is used when generating pass documentation. +* dependentDialects + - A list of strings that are the Dialect classes this pass can introduce. * constructor - A piece of C++ code used to create a default instance of the pass. * options -- 2.7.4