[PATCH] D138278: TableGen: honor LLVM_LINK_LLVM_DYLIB by default
stephenneuendorffer added a comment. I think the MLIR parts of this code were written before attempting to create libMLIR.so. Probably these tablegen binaries would have to also avoid linking against libMLIR.so and be statically linked to both llvmSupport and MLIRsupport to work properly.I think the proposed solution is reasonable. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138278/new/ https://reviews.llvm.org/D138278 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D126308: cmake: use llvm dir variables for clang/utils/hmaptool
stephenneuendorffer added a comment. LGTM... Does LLVM_TOOLS_BINARY_DIR include CMAKE_CFG_INTDIR? Is this actually NFC? Comment at: clang/utils/hmaptool/CMakeLists.txt:1 -set(CLANG_HMAPTOOL hmaptool) Unused elsewhere, I assume? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126308/new/ https://reviews.llvm.org/D126308 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D113664: [cmake] use project relative paths when generating ASTNodeAPI.json
stephenneuendorffer accepted this revision. stephenneuendorffer added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D113664/new/ https://reviews.llvm.org/D113664 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D84691: [CMake] Move find_package(ZLIB) to LLVMConfig
stephenneuendorffer added a comment. Perfect! Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84691/new/ https://reviews.llvm.org/D84691 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D79219: [CMake] Simplify CMake handling for zlib
stephenneuendorffer added inline comments. Comment at: mlir/examples/standalone/CMakeLists.txt:35 +endif() + include(TableGen) mehdi_amini wrote: > mehdi_amini wrote: > > I am a bit unsure that it is desirable that it is desirable to need this > > change? > > This requires every single user of LLVM to do this. Is there a way this can > > be done in the call to `find_package(LLVM)` instead? > (Doc for the usual way to integrate LLVM: > https://llvm.org/docs/CMake.html#embedding-llvm-in-your-project ) I tend to agree with Mehdi. I think stuff like this which is *required* to use LLVM should get pushed into what LLVM exports. (Actually there is a bunch of other configuration stuff which also needs to get pushed into the export, otherwise configuration defaults are all wrong and things like that.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79219/new/ https://reviews.llvm.org/D79219 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D77156: [CMAKE] Plumb include_directories() into tablegen()
stephenneuendorffer edited the summary of this revision. stephenneuendorffer updated this revision to Diff 254867. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77156/new/ https://reviews.llvm.org/D77156 Files: clang/cmake/modules/AddClang.cmake llvm/cmake/modules/TableGen.cmake mlir/cmake/modules/AddMLIR.cmake mlir/examples/toy/Ch3/CMakeLists.txt mlir/examples/toy/Ch4/CMakeLists.txt mlir/examples/toy/Ch4/include/toy/CMakeLists.txt mlir/examples/toy/Ch5/CMakeLists.txt mlir/examples/toy/Ch5/include/toy/CMakeLists.txt mlir/examples/toy/Ch6/CMakeLists.txt mlir/examples/toy/Ch6/include/toy/CMakeLists.txt mlir/examples/toy/Ch7/CMakeLists.txt mlir/examples/toy/Ch7/include/toy/CMakeLists.txt Index: mlir/examples/toy/Ch7/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch7/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch7/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh7OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch7/CMakeLists.txt === --- mlir/examples/toy/Ch7/CMakeLists.txt +++ mlir/examples/toy/Ch7/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh7CombineIncGen) add_toy_chapter(toyc-ch7 @@ -25,7 +26,6 @@ ToyCh7CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch6/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch6/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch6/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh6OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch6/CMakeLists.txt === --- mlir/examples/toy/Ch6/CMakeLists.txt +++ mlir/examples/toy/Ch6/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh6CombineIncGen) add_toy_chapter(toyc-ch6 @@ -25,7 +26,6 @@ ToyCh6CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch5/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch5/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch5/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh5OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch5/CMakeLists.txt === --- mlir/examples/toy/Ch5/CMakeLists.txt +++ mlir/examples/toy/Ch5/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -5,7 +6,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh5CombineIncGen) add_toy_chapter(toyc-ch5 @@ -23,7 +24,6 @@ ToyCh5CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR})
[PATCH] D77156: [CMAKE] Plumb include_directories() into tablegen()
This revision was automatically updated to reflect the committed changes. Closed by commit rGae044c5b0caa: [CMAKE] Plumb include_directories() into tablegen() (authored by stephenneuendorffer). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77156/new/ https://reviews.llvm.org/D77156 Files: clang/cmake/modules/AddClang.cmake llvm/cmake/modules/TableGen.cmake mlir/cmake/modules/AddMLIR.cmake mlir/examples/toy/Ch3/CMakeLists.txt mlir/examples/toy/Ch4/CMakeLists.txt mlir/examples/toy/Ch4/include/toy/CMakeLists.txt mlir/examples/toy/Ch5/CMakeLists.txt mlir/examples/toy/Ch5/include/toy/CMakeLists.txt mlir/examples/toy/Ch6/CMakeLists.txt mlir/examples/toy/Ch6/include/toy/CMakeLists.txt mlir/examples/toy/Ch7/CMakeLists.txt mlir/examples/toy/Ch7/include/toy/CMakeLists.txt Index: mlir/examples/toy/Ch7/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch7/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch7/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh7OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch7/CMakeLists.txt === --- mlir/examples/toy/Ch7/CMakeLists.txt +++ mlir/examples/toy/Ch7/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh7CombineIncGen) add_toy_chapter(toyc-ch7 @@ -25,7 +26,6 @@ ToyCh7CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch6/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch6/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch6/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh6OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch6/CMakeLists.txt === --- mlir/examples/toy/Ch6/CMakeLists.txt +++ mlir/examples/toy/Ch6/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh6CombineIncGen) add_toy_chapter(toyc-ch6 @@ -25,7 +26,6 @@ ToyCh6CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch5/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch5/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch5/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh5OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch5/CMakeLists.txt === --- mlir/examples/toy/Ch5/CMakeLists.txt +++ mlir/examples/toy/Ch5/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -5,7 +6,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh5CombineIncGen) add_toy_chapter(toyc-ch5 @@ -23,7 +24,6 @@ ToyCh5CombineIncGen )
[PATCH] D77156: [CMAKE] Plumb include_directories() into tablegen()
stephenneuendorffer created this revision. Herald added subscribers: cfe-commits, grosul1, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, burmako, jpienaar, rriddle, mehdi_amini, mgorny. Herald added a project: clang. stephenneuendorffer added reviewers: mehdi_amini, tstellar. Previously, the tablegen() cmake command, which defines custom commands for running tablegen, included several hardcoded paths. This becomes unwieldy as there are more users for which these paths are insufficient. For most targets, cmake uses include_directories() and the INCLUDE_DIRECTORIES directory property to specify include paths. This change picks up the INCLUDE_DIRECTORIES property and adds it to the include path used when running tablegen. As a side effect, this allows us to remove several hard coded paths to tablegen that are redundant with specified include_directories(). I haven't removed the hardcoded path to CMAKE_CURRENT_SOURCE_DIR, which seems generically useful. There are several users in clang which apparently don't have the current directory as an include_directories(). This could be considered separately. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D77156 Files: clang/cmake/modules/AddClang.cmake llvm/cmake/modules/TableGen.cmake mlir/cmake/modules/AddMLIR.cmake mlir/examples/toy/Ch3/CMakeLists.txt mlir/examples/toy/Ch4/CMakeLists.txt mlir/examples/toy/Ch4/include/toy/CMakeLists.txt mlir/examples/toy/Ch5/CMakeLists.txt mlir/examples/toy/Ch5/include/toy/CMakeLists.txt mlir/examples/toy/Ch6/CMakeLists.txt mlir/examples/toy/Ch6/include/toy/CMakeLists.txt mlir/examples/toy/Ch7/CMakeLists.txt mlir/examples/toy/Ch7/include/toy/CMakeLists.txt Index: mlir/examples/toy/Ch7/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch7/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch7/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh7OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch7/CMakeLists.txt === --- mlir/examples/toy/Ch7/CMakeLists.txt +++ mlir/examples/toy/Ch7/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh7CombineIncGen) add_toy_chapter(toyc-ch7 @@ -25,7 +26,6 @@ ToyCh7CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch6/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch6/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch6/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls "-I${CMAKE_CURRENT_SOURCE_DIR}/..") -mlir_tablegen(Ops.cpp.inc -gen-op-defs "-I${CMAKE_CURRENT_SOURCE_DIR}/..") +mlir_tablegen(Ops.h.inc -gen-op-decls) +mlir_tablegen(Ops.cpp.inc -gen-op-defs) add_public_tablegen_target(ToyCh6OpsIncGen) set(LLVM_TARGET_DEFINITIONS ShapeInferenceInterface.td) Index: mlir/examples/toy/Ch6/CMakeLists.txt === --- mlir/examples/toy/Ch6/CMakeLists.txt +++ mlir/examples/toy/Ch6/CMakeLists.txt @@ -1,3 +1,4 @@ +include_directories(include) add_subdirectory(include) set(LLVM_LINK_COMPONENTS @@ -6,7 +7,7 @@ ) set(LLVM_TARGET_DEFINITIONS mlir/ToyCombine.td) -mlir_tablegen(ToyCombine.inc -gen-rewriters "-I${CMAKE_CURRENT_SOURCE_DIR}/include") +mlir_tablegen(ToyCombine.inc -gen-rewriters) add_public_tablegen_target(ToyCh6CombineIncGen) add_toy_chapter(toyc-ch6 @@ -25,7 +26,6 @@ ToyCh6CombineIncGen ) -include_directories(include/) include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) Index: mlir/examples/toy/Ch5/include/toy/CMakeLists.txt === --- mlir/examples/toy/Ch5/include/toy/CMakeLists.txt +++ mlir/examples/toy/Ch5/include/toy/CMakeLists.txt @@ -1,6 +1,6 @@ set(LLVM_TARGET_DEFINITIONS Ops.td) -mlir_tablegen(Ops.h.inc -gen-op-decls