Skip to content
This repository was archived by the owner on Nov 27, 2025. It is now read-only.

Commit 98b43c9

Browse files
committed
EISW-163563 Add CMake option to conditionally enable XeGPU dialect
Introduced a CMake option MLIR_DIALECT_XEGPU_ENABLE (default OFF) to optionally include the XeGPU dialect in the build.
1 parent ccbe9ff commit 98b43c9

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

mlir/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,15 @@ set(MLIR_PDLL_TABLEGEN_TARGET "${MLIR_PDLL_TABLEGEN_TARGET}" CACHE INTERNAL "")
191191
set(MLIR_SRC_SHARDER_TABLEGEN_EXE "${MLIR_SRC_SHARDER_TABLEGEN_EXE}" CACHE INTERNAL "")
192192
set(MLIR_SRC_SHARDER_TABLEGEN_TARGET "${MLIR_SRC_SHARDER_TABLEGEN_TARGET}" CACHE INTERNAL "")
193193

194+
# XeGPU Dialect Option (Default OFF)
195+
option(MLIR_DIALECT_XEGPU_ENABLE
196+
"Enable the XeGPU dialect."
197+
OFF)
198+
199+
if(MLIR_DIALECT_XEGPU_ENABLE)
200+
add_compile_definitions(MLIR_DIALECT_XEGPU_ENABLE)
201+
endif()
202+
194203
add_subdirectory(include/mlir)
195204
add_subdirectory(lib)
196205
# C API needs all dialects for registration, but should be built before tests.

mlir/include/mlir/Dialect/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,6 @@ add_subdirectory(UB)
4444
add_subdirectory(Utils)
4545
add_subdirectory(Vector)
4646
add_subdirectory(X86Vector)
47-
# add_subdirectory(XeGPU)
47+
if(MLIR_DIALECT_XEGPU_ENABLE)
48+
add_subdirectory(XeGPU)
49+
endif()

mlir/include/mlir/InitAllDialects.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,9 @@
9292
#include "mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h"
9393
#include "mlir/Dialect/Vector/Transforms/SubsetOpInterfaceImpl.h"
9494
#include "mlir/Dialect/X86Vector/X86VectorDialect.h"
95-
/* #include "mlir/Dialect/XeGPU/IR/XeGPU.h" */
95+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
96+
#include "mlir/Dialect/XeGPU/IR/XeGPU.h"
97+
#endif
9698
#include "mlir/IR/Dialect.h"
9799
#include "mlir/Interfaces/CastInterfaces.h"
98100
#include "mlir/Target/LLVM/NVVM/Target.h"
@@ -147,10 +149,13 @@ inline void registerAllDialects(DialectRegistry &registry) {
147149
transform::TransformDialect,
148150
ub::UBDialect,
149151
vector::VectorDialect,
150-
x86vector::X86VectorDialect
151-
/*xegpu::XeGPUDialect*/>();
152+
x86vector::X86VectorDialect>();
152153
// clang-format on
153154

155+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
156+
register.insert<xegpu::XeGPUDialect>();
157+
#endif
158+
154159
// Register all external models.
155160
affine::registerValueBoundsOpInterfaceExternalModels(registry);
156161
arith::registerBufferDeallocationOpInterfaceExternalModels(registry);

mlir/include/mlir/InitAllPasses.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@
4444
#include "mlir/Dialect/Tosa/Transforms/Passes.h"
4545
#include "mlir/Dialect/Transform/Transforms/Passes.h"
4646
#include "mlir/Dialect/Vector/Transforms/Passes.h"
47-
/* #include "mlir/Dialect/XeGPU/Transforms/Passes.h" */
47+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
48+
#include "mlir/Dialect/XeGPU/Transforms/Passes.h"
49+
#endif
4850
#include "mlir/Transforms/Passes.h"
4951

5052
#include <cstdlib>
@@ -92,7 +94,10 @@ inline void registerAllPasses() {
9294
arm_sme::registerArmSMEPasses();
9395
arm_sve::registerArmSVEPasses();
9496
emitc::registerEmitCPasses();
95-
/* xegpu::registerXeGPUPasses(); */
97+
98+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
99+
xegpu::registerXeGPUPasses();
100+
#endif
96101

97102
// Dialect pipelines
98103
bufferization::registerBufferizationPipelines();

mlir/lib/Dialect/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ add_subdirectory(UB)
4444
add_subdirectory(Utils)
4545
add_subdirectory(Vector)
4646
add_subdirectory(X86Vector)
47-
# add_subdirectory(XeGPU)
47+
if(MLIR_DIALECT_XEGPU_ENABLE)
48+
add_subdirectory(XeGPU)
49+
endif()
4850

4951
set(LLVM_OPTIONAL_SOURCES
5052
Traits.cpp

0 commit comments

Comments
 (0)