[MLIR] Fix build without native arch
authorNikita Popov <npopov@redhat.com>
Wed, 11 May 2022 07:57:15 +0000 (09:57 +0200)
committerNikita Popov <npopov@redhat.com>
Thu, 12 May 2022 07:50:51 +0000 (09:50 +0200)
D125214 split off a MLIRExecutionEngineUtils library that is used
by MLIRGPUTransforms. However, currently the entire ExecutionEngine
directory is skipped if the LLVM_NATIVE_ARCH target is not available.

Move the check for LLVM_NATIVE_ARCH, such that MLIRExecutionEngineUtils
always gets built, and only the JIT-related libraries are omitted
without native arch.

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

mlir/lib/CMakeLists.txt
mlir/lib/ExecutionEngine/CMakeLists.txt

index 672a013..523a2d4 100644 (file)
@@ -15,8 +15,4 @@ add_subdirectory(TableGen)
 add_subdirectory(Target)
 add_subdirectory(Tools)
 add_subdirectory(Transforms)
-
-# Only enable the ExecutionEngine if the native target is configured in.
-if(TARGET ${LLVM_NATIVE_ARCH})
-  add_subdirectory(ExecutionEngine)
-endif()
+add_subdirectory(ExecutionEngine)
index 687f88f..76c4d3d 100644 (file)
@@ -13,16 +13,6 @@ set(LLVM_OPTIONAL_SOURCES
   JitRunner.cpp
   )
 
-if(LLVM_USE_INTEL_JITEVENTS)
-  set(LLVM_JIT_LISTENER_LIB
-      IntelJITEvents)
-endif(LLVM_USE_INTEL_JITEVENTS)
-
-if(LLVM_USE_PERF)
-  set(LLVM_JIT_LISTENER_LIB
-      PerfJITEvents)
-endif(LLVM_USE_PERF)
-
 # Use a separate library for OptUtils, to avoid pulling in the entire JIT and
 # codegen infrastructure. Unlike MLIRExecutionEngine, this is part of
 # libMLIR.so.
@@ -48,6 +38,21 @@ add_mlir_library(MLIRExecutionEngineUtils
   Passes
   )
 
+# Only enable the ExecutionEngine if the native target is configured in.
+if(NOT TARGET ${LLVM_NATIVE_ARCH})
+  return()
+endif()
+
+if(LLVM_USE_INTEL_JITEVENTS)
+  set(LLVM_JIT_LISTENER_LIB
+      IntelJITEvents)
+endif(LLVM_USE_INTEL_JITEVENTS)
+
+if(LLVM_USE_PERF)
+  set(LLVM_JIT_LISTENER_LIB
+      PerfJITEvents)
+endif(LLVM_USE_PERF)
+
 add_mlir_library(MLIRExecutionEngine
   ExecutionEngine.cpp