[Mlir-commits] [mlir] 90ae4d9 - Change add_mlir_doc CMake macro to take the tablegen command as last argument to allow extra flags

Mehdi Amini llvmlistbot at llvm.org
Wed Apr 14 19:59:52 PDT 2021


Author: Mehdi Amini
Date: 2021-04-15T02:59:40Z
New Revision: 90ae4d9030b0abb04d1805c4f0802c17e58461c2

URL: https://github.com/llvm/llvm-project/commit/90ae4d9030b0abb04d1805c4f0802c17e58461c2
DIFF: https://github.com/llvm/llvm-project/commit/90ae4d9030b0abb04d1805c4f0802c17e58461c2.diff

LOG: Change add_mlir_doc CMake macro to take the tablegen command as last argument to allow extra flags

This is useful for expressing specific table-gen options, like selecting
a particular dialect to print.
Use it to fix the documentation for the `pdl_interp` dialect which is now
generating the first dialect it finds in its input which is `pdl`.

Differential Revision: https://reviews.llvm.org/D100517

Added: 
    

Modified: 
    mlir/cmake/modules/AddMLIR.cmake
    mlir/examples/standalone/include/Standalone/CMakeLists.txt
    mlir/include/mlir/Conversion/CMakeLists.txt
    mlir/include/mlir/Dialect/AMX/CMakeLists.txt
    mlir/include/mlir/Dialect/Affine/CMakeLists.txt
    mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt
    mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
    mlir/include/mlir/Dialect/Async/CMakeLists.txt
    mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
    mlir/include/mlir/Dialect/GPU/CMakeLists.txt
    mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
    mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/Linalg/CMakeLists.txt
    mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Math/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
    mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
    mlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Quant/CMakeLists.txt
    mlir/include/mlir/Dialect/SCF/CMakeLists.txt
    mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/StandardOps/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
    mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
    mlir/include/mlir/Dialect/Vector/CMakeLists.txt
    mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
    mlir/include/mlir/IR/CMakeLists.txt
    mlir/include/mlir/Reducer/CMakeLists.txt
    mlir/include/mlir/Transforms/CMakeLists.txt
    mlir/tools/mlir-tblgen/DialectGen.cpp
    mlir/tools/mlir-tblgen/OpDocGen.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake
index 4a814eacd8725..3a0cb201912de 100644
--- a/mlir/cmake/modules/AddMLIR.cmake
+++ b/mlir/cmake/modules/AddMLIR.cmake
@@ -28,9 +28,9 @@ endfunction()
 
 
 # Generate Documentation
-function(add_mlir_doc doc_filename command output_file output_directory)
+function(add_mlir_doc doc_filename output_file output_directory command)
   set(LLVM_TARGET_DEFINITIONS ${doc_filename}.td)
-  tablegen(MLIR ${output_file}.md ${command})
+  tablegen(MLIR ${output_file}.md ${command} ${ARGN})
   set(GEN_DOC_FILE ${MLIR_BINARY_DIR}/docs/${output_directory}${output_file}.md)
   add_custom_command(
           OUTPUT ${GEN_DOC_FILE}

diff  --git a/mlir/examples/standalone/include/Standalone/CMakeLists.txt b/mlir/examples/standalone/include/Standalone/CMakeLists.txt
index f46c548f4c5f8..8acf640037eec 100644
--- a/mlir/examples/standalone/include/Standalone/CMakeLists.txt
+++ b/mlir/examples/standalone/include/Standalone/CMakeLists.txt
@@ -1,3 +1,3 @@
 add_mlir_dialect(StandaloneOps standalone)
-add_mlir_doc(StandaloneDialect -gen-dialect-doc StandaloneDialect Standalone/)
-add_mlir_doc(StandaloneOps -gen-op-doc StandaloneOps Standalone/)
+add_mlir_doc(StandaloneDialect StandaloneDialect Standalone/ -gen-dialect-doc)
+add_mlir_doc(StandaloneOps StandaloneOps Standalone/ -gen-op-doc)

diff  --git a/mlir/include/mlir/Conversion/CMakeLists.txt b/mlir/include/mlir/Conversion/CMakeLists.txt
index 4b5201a8aa1e1..d212bf3e395e7 100644
--- a/mlir/include/mlir/Conversion/CMakeLists.txt
+++ b/mlir/include/mlir/Conversion/CMakeLists.txt
@@ -5,4 +5,4 @@ mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Conversion)
 mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Conversion)
 add_public_tablegen_target(MLIRConversionPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc ConversionPasses ./)
+add_mlir_doc(Passes ConversionPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/AMX/CMakeLists.txt b/mlir/include/mlir/Dialect/AMX/CMakeLists.txt
index 4317fd84ac149..ae9b201dae75e 100644
--- a/mlir/include/mlir/Dialect/AMX/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/AMX/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(AMX amx)
-add_mlir_doc(AMX -gen-dialect-doc AMX Dialects/)
+add_mlir_doc(AMX AMX Dialects/ -gen-dialect-doc)
 
 set(LLVM_TARGET_DEFINITIONS AMX.td)
 mlir_tablegen(AMXConversions.inc -gen-llvmir-conversions)

diff  --git a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
index 96d951dedf4c6..131101878c7e0 100644
--- a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
@@ -4,4 +4,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Affine)
 add_public_tablegen_target(MLIRAffinePassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc AffinePasses ./)
+add_mlir_doc(Passes AffinePasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
index f0bb4caeec388..49d00e0c54e73 100644
--- a/mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(AffineOps affine)
-add_mlir_doc(AffineOps -gen-op-doc AffineOps Dialects/)
+add_mlir_doc(AffineOps AffineOps Dialects/ -gen-op-doc)
 
 add_mlir_interface(AffineMemoryOpInterfaces)
 add_dependencies(MLIRAffineOpsIncGen MLIRAffineMemoryOpInterfacesIncGen)

diff  --git a/mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt
index 40f2802644c9b..143497c642f47 100644
--- a/mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmNeon/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(ArmNeon arm_neon)
-add_mlir_doc(ArmNeon -gen-dialect-doc ArmNeon Dialects/)
+add_mlir_doc(ArmNeon ArmNeon Dialects/ -gen-dialect-doc)
 
 set(LLVM_TARGET_DEFINITIONS ArmNeon.td)
 mlir_tablegen(ArmNeonConversions.inc -gen-llvmir-conversions)

diff  --git a/mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
index c7db56122a951..3dcdf65f22e23 100644
--- a/mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSVE/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(ArmSVE arm_sve ArmSVE)
-add_mlir_doc(ArmSVE -gen-dialect-doc ArmSVE Dialects/)
+add_mlir_doc(ArmSVE ArmSVE Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/Async/CMakeLists.txt b/mlir/include/mlir/Dialect/Async/CMakeLists.txt
index fd4730cb982da..499e442720ccd 100644
--- a/mlir/include/mlir/Dialect/Async/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Async/CMakeLists.txt
@@ -4,4 +4,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Async)
 add_public_tablegen_target(MLIRAsyncPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc AsyncPasses ./)
+add_mlir_doc(Passes AsyncPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
index 0aff86209a39b..ebbf2df760faa 100644
--- a/mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Async/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(AsyncOps async)
-add_mlir_doc(AsyncOps -gen-dialect-doc AsyncDialect Dialects/)
+add_mlir_doc(AsyncOps AsyncDialect Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt
index 9fd6d4206b292..16330c05f215e 100644
--- a/mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Complex/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(ComplexOps complex)
-add_mlir_doc(ComplexOps -gen-dialect-doc ComplexOps Dialects/)
+add_mlir_doc(ComplexOps ComplexOps Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/DLTI/CMakeLists.txt b/mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
index ecd77d76ff5df..e0b18b12cda34 100644
--- a/mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/DLTI/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(DLTI dlti)
-add_mlir_doc(DLTI -gen-dialect-doc DLTIDialect Dialects/)
+add_mlir_doc(DLTI DLTIDialect Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/GPU/CMakeLists.txt b/mlir/include/mlir/Dialect/GPU/CMakeLists.txt
index 4e55441821a30..7db7596bdf10c 100644
--- a/mlir/include/mlir/Dialect/GPU/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/GPU/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(GPUOps gpu)
-add_mlir_doc(GPUOps -gen-op-doc GPUOps Dialects/)
+add_mlir_doc(GPUOps GPUOps Dialects/ -gen-op-doc)
 
 set(LLVM_TARGET_DEFINITIONS GPUBase.td)
 mlir_tablegen(GPUOpInterfaces.h.inc -gen-op-interface-decls)
@@ -20,4 +20,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name GPU)
 add_public_tablegen_target(MLIRGPUPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc GPUPasses ./)
+add_mlir_doc(Passes GPUPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt b/mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
index 7db04cfb614f8..902a378721f45 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/LLVMIR/CMakeLists.txt
@@ -13,7 +13,7 @@ mlir_tablegen(LLVMOpsEnums.h.inc -gen-enum-decls)
 mlir_tablegen(LLVMOpsEnums.cpp.inc -gen-enum-defs)
 add_public_tablegen_target(MLIRLLVMOpsIncGen)
 
-add_mlir_doc(LLVMOps -gen-op-doc LLVMOps Dialects/)
+add_mlir_doc(LLVMOps LLVMOps Dialects/ -gen-op-doc)
 
 add_mlir_interface(LLVMOpsInterfaces)
 
@@ -24,19 +24,19 @@ mlir_tablegen(LLVMConversionEnumsFromLLVM.inc -gen-enum-from-llvmir-conversions)
 add_public_tablegen_target(MLIRLLVMConversionsIncGen)
 
 add_mlir_dialect(NVVMOps nvvm)
-add_mlir_doc(NVVMOps -gen-dialect-doc NVVMDialect Dialects/)
+add_mlir_doc(NVVMOps NVVMDialect Dialects/ -gen-dialect-doc)
 set(LLVM_TARGET_DEFINITIONS NVVMOps.td)
 mlir_tablegen(NVVMConversions.inc -gen-llvmir-conversions)
 add_public_tablegen_target(MLIRNVVMConversionsIncGen)
 
 add_mlir_dialect(ROCDLOps rocdl)
-add_mlir_doc(ROCDLOps -gen-dialect-doc ROCDLDialect Dialects/)
+add_mlir_doc(ROCDLOps ROCDLDialect Dialects/ -gen-dialect-doc)
 set(LLVM_TARGET_DEFINITIONS ROCDLOps.td)
 mlir_tablegen(ROCDLConversions.inc -gen-llvmir-conversions)
 add_public_tablegen_target(MLIRROCDLConversionsIncGen)
 
 add_mlir_dialect(LLVMArmSVE llvm_arm_sve LLVMArmSVE)
-add_mlir_doc(LLVMArmSVE -gen-dialect-doc LLVMArmSve Dialects/)
+add_mlir_doc(LLVMArmSVE LLVMArmSve Dialects/ -gen-dialect-doc)
 set(LLVM_TARGET_DEFINITIONS LLVMArmSVE.td)
 mlir_tablegen(LLVMArmSVEConversions.inc -gen-llvmir-conversions)
 add_public_tablegen_target(MLIRLLVMArmSVEConversionsIncGen)

diff  --git a/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
index a744b0706ffd4..becae6a95393a 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
@@ -2,4 +2,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name LLVM)
 add_public_tablegen_target(MLIRLLVMPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc LLVMPasses ./)
+add_mlir_doc(Passes LLVMPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Linalg/CMakeLists.txt b/mlir/include/mlir/Dialect/Linalg/CMakeLists.txt
index 2c74207d6c95e..d8a082f10db3f 100644
--- a/mlir/include/mlir/Dialect/Linalg/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Linalg/CMakeLists.txt
@@ -6,4 +6,4 @@ mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Linalg)
 mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Linalg)
 add_public_tablegen_target(MLIRLinalgPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc LinalgPasses ./)
+add_mlir_doc(Passes LinalgPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
index ffe7619ce983c..eb4d6fd7c8eb5 100644
--- a/mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
@@ -70,7 +70,7 @@ add_dependencies(mlir-headers LinalgOdsGen)
 
 add_mlir_dialect(LinalgOps linalg)
 
-add_mlir_doc(LinalgDoc -gen-op-doc LinalgOps Dialects/)
+add_mlir_doc(LinalgDoc LinalgOps Dialects/ -gen-op-doc)
 add_dependencies(LinalgOpsDocGen LinalgOdsGen)
 
 set(LLVM_TARGET_DEFINITIONS LinalgStructuredOps.td)

diff  --git a/mlir/include/mlir/Dialect/Math/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Math/IR/CMakeLists.txt
index 5338023952b95..b737819b8d8aa 100644
--- a/mlir/include/mlir/Dialect/Math/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Math/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(MathOps math)
-add_mlir_doc(MathOps -gen-dialect-doc MathOps Dialects/)
+add_mlir_doc(MathOps MathOps Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
index 762f8dd133cdf..47efc6dd38fcc 100644
--- a/mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/MemRef/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(MemRefOps memref)
-add_mlir_doc(MemRefOps -gen-dialect-doc MemRefOps Dialects/)
+add_mlir_doc(MemRefOps MemRefOps Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
index 27a79d8ed3216..6f868f7be1b20 100644
--- a/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
@@ -3,4 +3,4 @@ mlir_tablegen(Passes.h.inc -gen-pass-decls -name MemRef)
 add_public_tablegen_target(MLIRMemRefPassIncGen)
 add_dependencies(mlir-headers MLIRMemRefPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc MemRefPasses ./)
+add_mlir_doc(Passes MemRefPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt b/mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
index 32b0c7f902aed..525851588562a 100644
--- a/mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
@@ -8,6 +8,6 @@ mlir_tablegen(OpenACCOps.h.inc -gen-op-decls)
 mlir_tablegen(OpenACCOps.cpp.inc -gen-op-defs)
 mlir_tablegen(OpenACCOpsEnums.h.inc -gen-enum-decls)
 mlir_tablegen(OpenACCOpsEnums.cpp.inc -gen-enum-defs)
-add_mlir_doc(OpenACCOps -gen-dialect-doc OpenACCDialect Dialects/)
+add_mlir_doc(OpenACCOps OpenACCDialect Dialects/ -gen-dialect-doc)
 add_public_tablegen_target(MLIROpenACCOpsIncGen)
 add_dependencies(OpenACCDialectDocGen acc_common_td)

diff  --git a/mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt b/mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
index 438caeed5cd8e..bbcebc023c7fb 100644
--- a/mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
@@ -8,6 +8,6 @@ mlir_tablegen(OpenMPOps.h.inc -gen-op-decls)
 mlir_tablegen(OpenMPOps.cpp.inc -gen-op-defs)
 mlir_tablegen(OpenMPOpsEnums.h.inc -gen-enum-decls)
 mlir_tablegen(OpenMPOpsEnums.cpp.inc -gen-enum-defs)
-add_mlir_doc(OpenMPOps -gen-dialect-doc OpenMPDialect Dialects/)
+add_mlir_doc(OpenMPOps OpenMPDialect Dialects/ -gen-dialect-doc)
 add_public_tablegen_target(MLIROpenMPOpsIncGen)
 add_dependencies(OpenMPDialectDocGen omp_common_td)

diff  --git a/mlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt
index 0d9837e0d3941..12c9c82e11858 100644
--- a/mlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/PDL/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(PDLOps pdl)
-add_mlir_doc(PDLOps -gen-dialect-doc PDLOps Dialects/)
+add_mlir_doc(PDLOps PDLOps Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt
index 65202bab56b2c..5328b121133a6 100644
--- a/mlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/PDLInterp/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(PDLInterpOps pdl_interp)
-add_mlir_doc(PDLInterpOps -gen-dialect-doc PDLInterpOps Dialects/)
+add_mlir_doc(PDLInterpOps PDLInterpOps Dialects/ -gen-dialect-doc -dialect=pdl_interp)

diff  --git a/mlir/include/mlir/Dialect/Quant/CMakeLists.txt b/mlir/include/mlir/Dialect/Quant/CMakeLists.txt
index 177d129a805af..c5b6a15df396b 100644
--- a/mlir/include/mlir/Dialect/Quant/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Quant/CMakeLists.txt
@@ -1,8 +1,8 @@
 add_mlir_dialect(QuantOps quant)
-add_mlir_doc(QuantOps -gen-dialect-doc QuantDialect Dialects/)
+add_mlir_doc(QuantOps QuantDialect Dialects/ -gen-dialect-doc)
 
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Quant)
 add_public_tablegen_target(MLIRQuantPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc QuantPasses ./)
+add_mlir_doc(Passes QuantPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/SCF/CMakeLists.txt b/mlir/include/mlir/Dialect/SCF/CMakeLists.txt
index 546ada0224cf1..dda48a857a5e4 100644
--- a/mlir/include/mlir/Dialect/SCF/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/SCF/CMakeLists.txt
@@ -1,9 +1,9 @@
 add_mlir_dialect(SCFOps scf Ops)
-add_mlir_doc(SCFOps -gen-dialect-doc SCFDialect Dialects/)
+add_mlir_doc(SCFOps SCFDialect Dialects/ -gen-dialect-doc)
 
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name SCF)
 add_public_tablegen_target(MLIRSCFPassIncGen)
 add_dependencies(mlir-headers MLIRSCFPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc SCFPasses ./)
+add_mlir_doc(Passes SCFPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
index 9b0f7baa3d81b..ab042184ae508 100644
--- a/mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/SPIRV/IR/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(SPIRVOps spv)
-add_mlir_doc(SPIRVOps -gen-op-doc SPIRVOps Dialects/)
+add_mlir_doc(SPIRVOps SPIRVOps Dialects/ -gen-op-doc)
 
 set(LLVM_TARGET_DEFINITIONS SPIRVBase.td)
 mlir_tablegen(SPIRVEnums.h.inc -gen-enum-decls)

diff  --git a/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
index f5342e1f29d05..045942091e952 100644
--- a/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
@@ -3,5 +3,5 @@ mlir_tablegen(Passes.h.inc -gen-pass-decls -name SPIRV)
 add_public_tablegen_target(MLIRSPIRVPassIncGen)
 add_dependencies(mlir-headers MLIRSPIRVPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc SPIRVPasses ./)
+add_mlir_doc(Passes SPIRVPasses ./ -gen-pass-doc)
 

diff  --git a/mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt
index e759c9ad22b09..b93b17486cb10 100644
--- a/mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Shape/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(ShapeOps shape)
-add_mlir_doc(ShapeOps -gen-dialect-doc ShapeDialect Dialects/)
+add_mlir_doc(ShapeOps ShapeDialect Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
index 8bbe1cb3fbc63..83a500d7b0ada 100644
--- a/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
@@ -2,4 +2,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Shape)
 add_public_tablegen_target(MLIRShapeTransformsIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc ShapePasses ./)
+add_mlir_doc(Passes ShapePasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/StandardOps/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/StandardOps/IR/CMakeLists.txt
index b9178c5a0db34..7bc39e93d913b 100644
--- a/mlir/include/mlir/Dialect/StandardOps/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/StandardOps/IR/CMakeLists.txt
@@ -6,4 +6,4 @@ mlir_tablegen(OpsEnums.h.inc -gen-enum-decls)
 mlir_tablegen(OpsEnums.cpp.inc -gen-enum-defs)
 add_public_tablegen_target(MLIRStandardOpsIncGen)
 
-add_mlir_doc(Ops -gen-op-doc StandardOps Dialects/)
+add_mlir_doc(Ops StandardOps Dialects/ -gen-op-doc)

diff  --git a/mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt
index f1cc5d81e0fe4..4cfeeded772d0 100644
--- a/mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/StandardOps/Transforms/CMakeLists.txt
@@ -2,4 +2,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Standard)
 add_public_tablegen_target(MLIRStandardTransformsIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc StandardPasses ./)
+add_mlir_doc(Passes StandardPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
index c5d47d29530c4..cd14fe5c04561 100644
--- a/mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
@@ -1,2 +1,2 @@
 add_mlir_dialect(TensorOps tensor)
-add_mlir_doc(TensorOps -gen-dialect-doc TensorOps Dialects/)
+add_mlir_doc(TensorOps TensorOps Dialects/ -gen-dialect-doc)

diff  --git a/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
index 8d2bf1b32284d..b312cee099305 100644
--- a/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
@@ -2,4 +2,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Tensor)
 add_public_tablegen_target(MLIRTensorTransformsIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc TensorPasses ./)
+add_mlir_doc(Passes TensorPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt b/mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
index b659959d1fc9d..43415ca2b7d31 100644
--- a/mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(TosaOps tosa)
-add_mlir_doc(TosaOps -gen-op-doc TosaOps Dialects/)
+add_mlir_doc(TosaOps TosaOps Dialects/ -gen-op-doc)
 add_mlir_interface(TosaInterfaces)
 
 set(LLVM_TARGET_DEFINITIONS TosaOps.td)

diff  --git a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
index d9b5375188b8b..b1363b5a179df 100644
--- a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
@@ -3,4 +3,4 @@ mlir_tablegen(Passes.h.inc -gen-pass-decls -name TosaOpt)
 add_public_tablegen_target(MLIRTosaPassIncGen)
 add_dependencies(mlir-headers MLIRTosaPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc TosaPasses ./)
+add_mlir_doc(Passes TosaPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Dialect/Vector/CMakeLists.txt b/mlir/include/mlir/Dialect/Vector/CMakeLists.txt
index b16570052f796..e881e0371f921 100644
--- a/mlir/include/mlir/Dialect/Vector/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Vector/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(VectorOps vector)
-add_mlir_doc(VectorOps -gen-op-doc VectorOps Dialects/)
+add_mlir_doc(VectorOps VectorOps Dialects/ -gen-op-doc)
 
 set(LLVM_TARGET_DEFINITIONS VectorOps.td)
 mlir_tablegen(VectorOpsEnums.h.inc -gen-enum-decls)

diff  --git a/mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt b/mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
index faa8ae39482a6..b8671d5c45ec5 100644
--- a/mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
@@ -1,5 +1,5 @@
 add_mlir_dialect(X86Vector x86vector)
-add_mlir_doc(X86Vector -gen-dialect-doc X86Vector Dialects/)
+add_mlir_doc(X86Vector X86Vector Dialects/ -gen-dialect-doc)
 
 set(LLVM_TARGET_DEFINITIONS X86Vector.td)
 mlir_tablegen(X86VectorConversions.inc -gen-llvmir-conversions)

diff  --git a/mlir/include/mlir/IR/CMakeLists.txt b/mlir/include/mlir/IR/CMakeLists.txt
index 963d6a87eee25..8ce969777981f 100644
--- a/mlir/include/mlir/IR/CMakeLists.txt
+++ b/mlir/include/mlir/IR/CMakeLists.txt
@@ -26,7 +26,7 @@ mlir_tablegen(BuiltinTypes.h.inc -gen-typedef-decls)
 mlir_tablegen(BuiltinTypes.cpp.inc -gen-typedef-defs)
 add_public_tablegen_target(MLIRBuiltinTypesIncGen)
 
-add_mlir_doc(BuiltinAttributes -gen-attrdef-doc BuiltinAttributes Dialects/)
-add_mlir_doc(BuiltinLocationAttributes -gen-attrdef-doc BuiltinLocationAttributes Dialects/)
-add_mlir_doc(BuiltinOps -gen-op-doc BuiltinOps Dialects/)
-add_mlir_doc(BuiltinTypes -gen-typedef-doc BuiltinTypes Dialects/)
+add_mlir_doc(BuiltinAttributes BuiltinAttributes Dialects/ -gen-attrdef-doc)
+add_mlir_doc(BuiltinLocationAttributes BuiltinLocationAttributes Dialects/ -gen-attrdef-doc)
+add_mlir_doc(BuiltinOps BuiltinOps Dialects/ -gen-op-doc)
+add_mlir_doc(BuiltinTypes BuiltinTypes Dialects/ -gen-typedef-doc)

diff  --git a/mlir/include/mlir/Reducer/CMakeLists.txt b/mlir/include/mlir/Reducer/CMakeLists.txt
index 85dfaabf3d4fc..1d92d0761b9c8 100644
--- a/mlir/include/mlir/Reducer/CMakeLists.txt
+++ b/mlir/include/mlir/Reducer/CMakeLists.txt
@@ -2,4 +2,4 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Reducer)
 add_public_tablegen_target(MLIRReducerIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc ReducerPasses ./)
+add_mlir_doc(Passes ReducerPasses ./ -gen-pass-doc)

diff  --git a/mlir/include/mlir/Transforms/CMakeLists.txt b/mlir/include/mlir/Transforms/CMakeLists.txt
index a27add5968ead..cf01899819aad 100644
--- a/mlir/include/mlir/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Transforms/CMakeLists.txt
@@ -5,4 +5,4 @@ mlir_tablegen(Transforms.capi.h.inc -gen-pass-capi-header --prefix Transforms)
 mlir_tablegen(Transforms.capi.cpp.inc -gen-pass-capi-impl --prefix Transforms)
 add_public_tablegen_target(MLIRTransformsPassIncGen)
 
-add_mlir_doc(Passes -gen-pass-doc GeneralPasses ./)
+add_mlir_doc(Passes GeneralPasses ./ -gen-pass-doc)

diff  --git a/mlir/tools/mlir-tblgen/DialectGen.cpp b/mlir/tools/mlir-tblgen/DialectGen.cpp
index 151519519afda..a2c7dd5673bbf 100644
--- a/mlir/tools/mlir-tblgen/DialectGen.cpp
+++ b/mlir/tools/mlir-tblgen/DialectGen.cpp
@@ -31,7 +31,7 @@ using namespace mlir;
 using namespace mlir::tblgen;
 
 static llvm::cl::OptionCategory dialectGenCat("Options for -gen-dialect-*");
-static llvm::cl::opt<std::string>
+llvm::cl::opt<std::string>
     selectedDialect("dialect", llvm::cl::desc("The dialect to gen for"),
                     llvm::cl::cat(dialectGenCat), llvm::cl::CommaSeparated);
 

diff  --git a/mlir/tools/mlir-tblgen/OpDocGen.cpp b/mlir/tools/mlir-tblgen/OpDocGen.cpp
index 75e1a346edd98..d4a60e30ced1c 100644
--- a/mlir/tools/mlir-tblgen/OpDocGen.cpp
+++ b/mlir/tools/mlir-tblgen/OpDocGen.cpp
@@ -19,6 +19,7 @@
 #include "mlir/TableGen/Operator.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/CommandLine.h"
 #include "llvm/Support/FormatVariadic.h"
 #include "llvm/Support/Signals.h"
 #include "llvm/TableGen/Error.h"
@@ -33,6 +34,8 @@ using namespace mlir::tblgen;
 
 using mlir::tblgen::Operator;
 
+extern llvm::cl::opt<std::string> selectedDialect;
+
 // Emit the description by aligning the text to the left per line (e.g.,
 // removing the minimum indentation across the block).
 //
@@ -237,6 +240,9 @@ static void emitAttrOrTypeDefDoc(const RecordKeeper &recordKeeper,
 static void emitDialectDoc(const Dialect &dialect, ArrayRef<AttrDef> attrDefs,
                            ArrayRef<Operator> ops, ArrayRef<Type> types,
                            ArrayRef<TypeDef> typeDefs, raw_ostream &os) {
+  if (selectedDialect.getNumOccurrences() &&
+      dialect.getName() != selectedDialect)
+    return;
   os << "# '" << dialect.getName() << "' Dialect\n\n";
   emitIfNotEmpty(dialect.getSummary(), os);
   emitIfNotEmpty(dialect.getDescription(), os);


        


More information about the Mlir-commits mailing list