Skip to content

Commit 3729465

Browse files
committed
EISW-170058 Add CMake option to conditionally enable VectorToXeGPU conversion
1 parent 525e76f commit 3729465

File tree

10 files changed

+33
-14
lines changed

10 files changed

+33
-14
lines changed

mlir/include/mlir/Conversion/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,7 @@ add_mlir_doc(Passes ConversionPasses ./ -gen-pass-doc)
1010
if(MLIR_CONVERSION_TOSATOTENSOR_ENABLE)
1111
add_subdirectory(TosaToTensor)
1212
endif()
13+
if(MLIR_DIALECT_XEGPU_ENABLE)
14+
add_subdirectory(VectorToXeGPU)
15+
endif()
1316
add_subdirectory(ConvertToLLVM)

mlir/include/mlir/Conversion/Passes.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@
8181
#include "mlir/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.h"
8282
#include "mlir/Conversion/VectorToSCF/VectorToSCF.h"
8383
#include "mlir/Conversion/VectorToSPIRV/VectorToSPIRVPass.h"
84+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
8485
#include "mlir/Conversion/VectorToXeGPU/VectorToXeGPU.h"
86+
#endif
8587

8688
namespace mlir {
8789

mlir/include/mlir/Conversion/Passes.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1465,6 +1465,7 @@ def ConvertVectorToSPIRV : Pass<"convert-vector-to-spirv"> {
14651465
// VectorToXeGPU
14661466
//===----------------------------------------------------------------------===//
14671467

1468+
#ifdef MLIR_DIALECT_XEGPU_ENABLE
14681469
def ConvertVectorToXeGPU : Pass<"convert-vector-to-xegpu"> {
14691470
let summary = "Lower the operations from the vector dialect into the XeGPU "
14701471
"dialect";
@@ -1474,5 +1475,6 @@ def ConvertVectorToXeGPU : Pass<"convert-vector-to-xegpu"> {
14741475
"vector::VectorDialect", "xegpu::XeGPUDialect"
14751476
];
14761477
}
1478+
#endif
14771479

14781480
#endif // MLIR_CONVERSION_PASSES

mlir/lib/Conversion/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,6 @@ add_subdirectory(VectorToSCF)
9292
if(MLIR_DIALECT_SPIRV_ENABLE)
9393
add_subdirectory(VectorToSPIRV)
9494
endif()
95-
add_subdirectory(VectorToXeGPU)
95+
if(MLIR_DIALECT_XEGPU_ENABLE)
96+
add_subdirectory(VectorToXeGPU)
97+
endif()
Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
add_mlir_conversion_library(MLIRVectorToXeGPU
2-
VectorToXeGPU.cpp
1+
if(MLIR_DIALECT_XEGPU_ENABLE)
2+
add_mlir_conversion_library(MLIRVectorToXeGPU
3+
VectorToXeGPU.cpp
34

4-
ADDITIONAL_HEADER_DIRS
5-
${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/VectorToXeGPU
5+
ADDITIONAL_HEADER_DIRS
6+
${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/VectorToXeGPU
67

7-
DEPENDS
8-
MLIRConversionPassIncGen
8+
DEPENDS
9+
MLIRConversionPassIncGen
910

10-
LINK_LIBS PUBLIC
11-
MLIRArithDialect
12-
MLIRMemRefDialect
13-
MLIRTransforms
14-
MLIRVectorDialect
15-
MLIRXeGPUDialect
16-
)
11+
LINK_LIBS PUBLIC
12+
MLIRArithDialect
13+
MLIRMemRefDialect
14+
MLIRTransforms
15+
MLIRVectorDialect
16+
MLIRXeGPUDialect
17+
)
18+
endif()

mlir/test/Conversion/VectorToXeGPU/load-to-xegpu.mlir

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

34
func.func @load_1D_vector(%source: memref<8x16x32xf32>, %offset: index) -> vector<8xf32> {

mlir/test/Conversion/VectorToXeGPU/store-to-xegpu.mlir

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

34
func.func @store_1D_vector(%vec: vector<8xf32>,

mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir

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

34
func.func @load_1D_vector(%source: memref<8x16x32xf32>, %offset: index) -> vector<8xf32> {

mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir

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

34
func.func @store_1D_vector(%vec: vector<8xf32>,

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ config.riscv_emulator_utils_lib_dir = "@RISCV_EMULATOR_UTILS_LIB_DIR@"
7373
if "@MLIR_CONVERSION_TOSATOTENSOR_ENABLE@" == "ON":
7474
config.available_features.add("tosa-to-tensor-enabled")
7575

76+
# Add feature to enable/disable VectorToGPU tests
77+
if "@MLIR_DIALECT_XEGPU_ENABLE@" == "ON":
78+
config.available_features.add("vector-to-gpu-enabled")
79+
7680
import lit.llvm
7781
lit.llvm.initialize(lit_config, config)
7882

0 commit comments

Comments
 (0)