diff --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake index 4622d4d05fcbd..544abe4368882 100644 --- a/mlir/cmake/modules/AddMLIR.cmake +++ b/mlir/cmake/modules/AddMLIR.cmake @@ -188,7 +188,8 @@ endfunction() # Generate Documentation function(add_mlir_doc doc_filename output_file output_directory command) set(LLVM_TARGET_DEFINITIONS ${doc_filename}.td) - tablegen(MLIR ${output_file}.md ${command} ${ARGN}) + # The MLIR docs use Hugo, so we allow Hugo specific features here. + tablegen(MLIR ${output_file}.md ${command} -allow-hugo-specific-features ${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/tools/mlir-tblgen/OpDocGen.cpp b/mlir/tools/mlir-tblgen/OpDocGen.cpp index 088d34597f315..855f02d828418 100644 --- a/mlir/tools/mlir-tblgen/OpDocGen.cpp +++ b/mlir/tools/mlir-tblgen/OpDocGen.cpp @@ -42,6 +42,10 @@ llvm::cl::opt stripPrefix("strip-prefix", llvm::cl::desc("Strip prefix of the fully qualified names"), llvm::cl::init("::mlir::"), llvm::cl::cat(docCat)); +llvm::cl::opt allowHugoSpecificFeatures( + "allow-hugo-specific-features", + llvm::cl::desc("Allows using features specific to Hugo"), + llvm::cl::init(false), llvm::cl::cat(docCat)); using namespace llvm; using namespace mlir; @@ -213,7 +217,7 @@ static void emitOpDoc(const Operator &op, raw_ostream &os) { os << "" << it.name << "" << storageType << ""; StringRef description = resolveAttrDescription(it.attr); - if (!description.empty()) { + if (allowHugoSpecificFeatures && !description.empty()) { // Expandable description. // This appears as just the summary, but when clicked shows the full // description. @@ -227,7 +231,7 @@ static void emitOpDoc(const Operator &op, raw_ostream &os) { } os << "\n"; } - os << "\n"; + os << "
\n"; } // Emit each of the operands.