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

Commit 92a2cb5

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. Signed-off-by: Surendar Rama Sitaraman <[email protected]>
1 parent 64e4903 commit 92a2cb5

File tree

8 files changed

+25
-4
lines changed

8 files changed

+25
-4
lines changed

mlir/include/mlir/Dialect/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,6 @@ add_subdirectory(UB)
4242
add_subdirectory(Utils)
4343
add_subdirectory(Vector)
4444
add_subdirectory(X86Vector)
45-
add_subdirectory(XeGPU)
45+
if(MLIR_DIALECT_XEGPU_ENABLE)
46+
add_subdirectory(XeGPU)
47+
endif()

mlir/include/mlir/InitAllDialects.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@
9494
#include "mlir/Dialect/Vector/Transforms/BufferizableOpInterfaceImpl.h"
9595
#include "mlir/Dialect/Vector/Transforms/SubsetOpInterfaceImpl.h"
9696
#include "mlir/Dialect/X86Vector/X86VectorDialect.h"
97+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
9798
#include "mlir/Dialect/XeGPU/IR/XeGPU.h"
99+
#endif
98100
#include "mlir/IR/Dialect.h"
99101
#include "mlir/Interfaces/CastInterfaces.h"
100102
#include "mlir/Target/LLVM/NVVM/Target.h"
@@ -149,10 +151,13 @@ inline void registerAllDialects(DialectRegistry &registry) {
149151
transform::TransformDialect,
150152
ub::UBDialect,
151153
vector::VectorDialect,
152-
x86vector::X86VectorDialect,
153-
xegpu::XeGPUDialect>();
154+
x86vector::X86VectorDialect>();
154155
// clang-format on
155156

157+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
158+
register.insert<xegpu::XeGPUDialect>();
159+
#endif
160+
156161
// Register all external models.
157162
affine::registerValueBoundsOpInterfaceExternalModels(registry);
158163
arith::registerBufferDeallocationOpInterfaceExternalModels(registry);

mlir/include/mlir/InitAllPasses.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
#include "mlir/Dialect/Tosa/Transforms/Passes.h"
4646
#include "mlir/Dialect/Transform/Transforms/Passes.h"
4747
#include "mlir/Dialect/Vector/Transforms/Passes.h"
48+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
4849
#include "mlir/Dialect/XeGPU/Transforms/Passes.h"
50+
#endif
4951
#include "mlir/Transforms/Passes.h"
5052

5153
#include <cstdlib>
@@ -94,7 +96,10 @@ inline void registerAllPasses() {
9496
arm_sme::registerArmSMEPasses();
9597
arm_sve::registerArmSVEPasses();
9698
emitc::registerEmitCPasses();
99+
100+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
97101
xegpu::registerXeGPUPasses();
102+
#endif
98103

99104
// Dialect pipelines
100105
bufferization::registerBufferizationPipelines();

mlir/lib/Dialect/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ add_subdirectory(UB)
4242
add_subdirectory(Utils)
4343
add_subdirectory(Vector)
4444
add_subdirectory(X86Vector)
45-
add_subdirectory(XeGPU)
45+
if(MLIR_DIALECT_XEGPU_ENABLE)
46+
add_subdirectory(XeGPU)
47+
endif()
4648

4749
set(LLVM_OPTIONAL_SOURCES
4850
Traits.cpp

mlir/test/Dialect/XeGPU/XeGPUOps.mlir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// REQUIRES: xegpu-dialect-enabled
12
// RUN: mlir-opt %s | FileCheck %s
23
// Verify the printed output can be parsed.
34
// RUN: mlir-opt %s | mlir-opt | FileCheck %s

mlir/test/Dialect/XeGPU/invalid.mlir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// REQUIRES: xegpu-dialect-enabled
12
// RUN: mlir-opt %s -split-input-file -verify-diagnostics
23

34
// -----

mlir/test/Dialect/XeGPU/xegpu-fold-alias-ops.mlir

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// REQUIRES: xegpu-dialect-enabled
12
// RUN: mlir-opt -xegpu-fold-alias-ops -split-input-file %s | FileCheck %s
23

34
func.func @fold_subview_with_xegpu_create_nd_tdesc(%arg0 : memref<256x256xf32>, %arg1 : index, %arg2 : index, %arg3 : index, %arg4 : index) ->(!xegpu.tensor_desc<8x16xf32>) {

mlir/test/lit.site.cfg.py.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ config.riscv_vector_emulator_options = "@RISCV_VECTOR_EMULATOR_OPTIONS@"
6969
config.riscv_emulator_lli_executable = "@RISCV_EMULATOR_LLI_EXECUTABLE@"
7070
config.riscv_emulator_utils_lib_dir = "@RISCV_EMULATOR_UTILS_LIB_DIR@"
7171

72+
# Add feature to enable/disable XeGPU Dialect tests
73+
if "@MLIR_DIALECT_XEGPU_ENABLE@" == "ON":
74+
config.available_features.add("xegpu-dialect-enabled")
75+
7276
import lit.llvm
7377
lit.llvm.initialize(lit_config, config)
7478

0 commit comments

Comments
 (0)