1add_subdirectory(CUF) 2 3# This replicates part of the add_mlir_dialect cmake function from MLIR that 4# cannot be used her because it expects to be run inside MLIR directory which 5# is not the case for FIR. 6set(LLVM_TARGET_DEFINITIONS FIRDialect.td) 7mlir_tablegen(FIRDialect.h.inc -gen-dialect-decls -dialect=fir) 8mlir_tablegen(FIRDialect.cpp.inc -gen-dialect-defs -dialect=fir) 9 10set(LLVM_TARGET_DEFINITIONS FIRAttr.td) 11mlir_tablegen(FIREnumAttr.h.inc -gen-enum-decls) 12mlir_tablegen(FIREnumAttr.cpp.inc -gen-enum-defs) 13mlir_tablegen(FIRAttr.h.inc --gen-attrdef-decls) 14mlir_tablegen(FIRAttr.cpp.inc -gen-attrdef-defs) 15 16set(LLVM_TARGET_DEFINITIONS FIROps.td) 17mlir_tablegen(FIROps.h.inc -gen-op-decls) 18mlir_tablegen(FIROps.cpp.inc -gen-op-defs) 19mlir_tablegen(FIROpsTypes.h.inc --gen-typedef-decls) 20mlir_tablegen(FIROpsTypes.cpp.inc --gen-typedef-defs) 21add_public_tablegen_target(FIROpsIncGen) 22 23set(LLVM_TARGET_DEFINITIONS FortranVariableInterface.td) 24mlir_tablegen(FortranVariableInterface.h.inc -gen-op-interface-decls) 25mlir_tablegen(FortranVariableInterface.cpp.inc -gen-op-interface-defs) 26 27set(LLVM_TARGET_DEFINITIONS FirAliasTagOpInterface.td) 28mlir_tablegen(FirAliasTagOpInterface.h.inc -gen-op-interface-decls) 29mlir_tablegen(FirAliasTagOpInterface.cpp.inc -gen-op-interface-defs) 30 31set(LLVM_TARGET_DEFINITIONS CanonicalizationPatterns.td) 32mlir_tablegen(CanonicalizationPatterns.inc -gen-rewriters) 33add_public_tablegen_target(CanonicalizationPatternsIncGen) 34 35add_custom_target(flang-doc) 36set_target_properties(flang-doc PROPERTIES FOLDER "Flang/Docs") 37set(dialect_doc_filename "FIRLangRef") 38 39set(LLVM_TARGET_DEFINITIONS FIROps.td) 40tablegen(MLIR ${dialect_doc_filename}.md -gen-op-doc "-I${MLIR_INCLUDE_DIR}") 41set(GEN_DOC_FILE ${FLANG_BINARY_DIR}/docs/Dialect/${dialect_doc_filename}.md) 42add_custom_command( 43 OUTPUT ${GEN_DOC_FILE} 44 COMMAND ${CMAKE_COMMAND} -E copy 45 ${CMAKE_CURRENT_BINARY_DIR}/${dialect_doc_filename}.md 46 ${GEN_DOC_FILE} 47 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${dialect_doc_filename}.md) 48add_custom_target(${dialect_doc_filename}DocGen DEPENDS ${GEN_DOC_FILE}) 49set_target_properties(${dialect_doc_filename}DocGen PROPERTIES FOLDER "Flang/Tablegenning/Docs") 50add_dependencies(flang-doc ${dialect_doc_filename}DocGen) 51