From: Martin Storsjö Date: Fri, 15 Jul 2022 21:11:00 +0000 (+0300) Subject: [mlir] Fix calling the native mlir-tblgen tool when cross compiling flang X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=112499f35f4169f798d7f6436cf60e822b9c1da0;p=platform%2Fupstream%2Fllvm.git [mlir] Fix calling the native mlir-tblgen tool when cross compiling flang When the mlir-tblgen tool is set up, the `MLIR_TABLEGEN_EXE` variable is set, which either points to the mlir-tblgen tool built in the current cmake build, or points to one built in a nested cmake build (if cross conpiling, or if building with e.g. `LLVM_OPTIMIZED_TABLEGEN`. The `MLIR_TABLEGEN_EXE` variable is only set within the scope of the mlir/CMakeLists.txt file, so it's unavailable in sibling level projects such as flang. Set the `MLIR_TABLEGEN_EXE` and the `MLIR_TABLEGEN_TARGET` variables as global, so that flang can use them properly without guessing. Differential Revision: https://reviews.llvm.org/D130350 --- diff --git a/flang/CMakeLists.txt b/flang/CMakeLists.txt index 7e0aec2..0b55bb3 100644 --- a/flang/CMakeLists.txt +++ b/flang/CMakeLists.txt @@ -199,7 +199,6 @@ else() set(MLIR_MAIN_SRC_DIR ${LLVM_MAIN_SRC_DIR}/../mlir/include ) # --src-root set(MLIR_INCLUDE_DIR ${LLVM_MAIN_SRC_DIR}/../mlir/include ) # --includedir set(MLIR_TABLEGEN_OUTPUT_DIR ${CMAKE_BINARY_DIR}/tools/mlir/include) - set(MLIR_TABLEGEN_EXE $) include_directories(SYSTEM ${MLIR_INCLUDE_DIR}) include_directories(SYSTEM ${MLIR_TABLEGEN_OUTPUT_DIR}) endif() diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt index 3ea0be3..808a985 100644 --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -155,6 +155,9 @@ add_subdirectory(tools/mlir-tblgen) add_subdirectory(tools/mlir-linalg-ods-gen) add_subdirectory(tools/mlir-pdll) +set(MLIR_TABLEGEN_EXE "${MLIR_TABLEGEN_EXE}" CACHE INTERNAL "") +set(MLIR_TABLEGEN_TARGET "${MLIR_TABLEGEN_TARGET}" CACHE INTERNAL "") + add_subdirectory(include/mlir) add_subdirectory(lib) # C API needs all dialects for registration, but should be built before tests.