Skip to content

Commit ffae029

Browse files
committed
add mem side effects interface
1 parent 1be0ae3 commit ffae029

File tree

2 files changed

+5
-30
lines changed

2 files changed

+5
-30
lines changed

mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -277,8 +277,7 @@ def XeGPU_PrefetchNdOp : XeGPU_Op<"prefetch_nd", []> {
277277

278278

279279
def XeGPU_LoadNdOp : XeGPU_Op<"load_nd", [
280-
AllElementTypesMatch<["value", "TensorDesc"]>,
281-
DeclareOpInterfaceMethods<MemoryEffectsOpInterface>
280+
AllElementTypesMatch<["value", "TensorDesc"]>, MemoryEffects<[MemRead]>
282281
]> {
283282
let summary = "loads a n-D block from memory (represented by TensorDesc)"
284283
"to registers (represented by vector)";
@@ -331,7 +330,7 @@ def XeGPU_LoadNdOp : XeGPU_Op<"load_nd", [
331330
}
332331

333332
def XeGPU_StoreNdOp : XeGPU_Op<"store_nd", [
334-
AllElementTypesMatch<["value", "TensorDesc"]>, DeclareOpInterfaceMethods<MemoryEffectsOpInterface>,
333+
AllElementTypesMatch<["value", "TensorDesc"]>, MemoryEffects<[MemWrite]>
335334
]> {
336335
let summary = "stores a n-D block register region back to memory, currently only supports 2D";
337336

@@ -554,8 +553,7 @@ def XeGPU_PrefetchOp : XeGPU_Op<"prefetch", []> {
554553
}
555554

556555
def XeGPU_LoadGatherOp : XeGPU_Op<"load", [
557-
AllElementTypesMatch<["value", "TensorDesc"]>,
558-
DeclareOpInterfaceMethods<MemoryEffectsOpInterface>
556+
AllElementTypesMatch<["value", "TensorDesc"]>, MemoryEffects<[MemRead]>
559557
]> {
560558
let summary = "load a set of scattered data points from memory.";
561559

@@ -627,7 +625,8 @@ def XeGPU_LoadGatherOp : XeGPU_Op<"load", [
627625
}
628626

629627
def XeGPU_StoreScatterOp : XeGPU_Op<"store", [
630-
AllElementTypesMatch<["value", "TensorDesc"]>, DeclareOpInterfaceMethods<MemoryEffectsOpInterface>]> {
628+
AllElementTypesMatch<["value", "TensorDesc"]>, MemoryEffects<[MemWrite]>
629+
]> {
631630
let summary = "store data to scattered memory locations.";
632631
let description = [{ It (aka. store) stores data to scattered memory locations. The value is
633632
typically a 1D vector. But when the chunk size of the TensorDesc is larger than 1, it will be

mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -324,12 +324,6 @@ LogicalResult LoadNdOp::verify() {
324324
return success();
325325
}
326326

327-
void LoadNdOp::getEffects(
328-
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
329-
&effects) {
330-
effects.emplace_back(MemoryEffects::Read::get());
331-
}
332-
333327
//===----------------------------------------------------------------------===//
334328
// XeGPU_StoreNdOp
335329
//===----------------------------------------------------------------------===//
@@ -367,12 +361,6 @@ LogicalResult StoreNdOp::verify() {
367361
return success();
368362
}
369363

370-
void StoreNdOp::getEffects(
371-
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
372-
&effects) {
373-
effects.emplace_back(MemoryEffects::Write::get());
374-
}
375-
376364
//===----------------------------------------------------------------------===//
377365
// XeGPU_UpdateNDOffsetOp
378366
//===----------------------------------------------------------------------===//
@@ -565,12 +553,6 @@ LogicalResult LoadGatherOp::verify() {
565553
return success();
566554
}
567555

568-
void LoadGatherOp::getEffects(
569-
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
570-
&effects) {
571-
effects.emplace_back(MemoryEffects::Read::get());
572-
}
573-
574556
//===----------------------------------------------------------------------===//
575557
// XeGPU_StoreScatterOp
576558
//===----------------------------------------------------------------------===//
@@ -623,12 +605,6 @@ LogicalResult StoreScatterOp::verify() {
623605
return success();
624606
}
625607

626-
void StoreScatterOp::getEffects(
627-
SmallVectorImpl<SideEffects::EffectInstance<MemoryEffects::Effect>>
628-
&effects) {
629-
effects.emplace_back(MemoryEffects::Write::get());
630-
}
631-
632608
//===----------------------------------------------------------------------===//
633609
// XeGPU_UpdateOffsetOp
634610
//===----------------------------------------------------------------------===//

0 commit comments

Comments
 (0)