Skip to content

Commit 094ede6

Browse files
committed
[mlir][NFC] Update GPU/SCF operations to use hasVerifier instead of verifier
The verifier field is deprecated, and slated for removal. Differential Revision: https://reviews.llvm.org/D118827
1 parent 4809da8 commit 094ede6

File tree

4 files changed

+144
-171
lines changed

4 files changed

+144
-171
lines changed

mlir/include/mlir/Dialect/GPU/GPUOps.td

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,6 @@ def GPU_SubgroupIdOp : GPU_Op<"subgroup_id", [NoSideEffect]>,
110110
}];
111111

112112
let assemblyFormat = "attr-dict `:` type($result)";
113-
let verifier = [{ return success(); }];
114113
}
115114

116115
def GPU_NumSubgroupsOp : GPU_Op<"num_subgroups", [NoSideEffect]>,
@@ -126,7 +125,6 @@ def GPU_NumSubgroupsOp : GPU_Op<"num_subgroups", [NoSideEffect]>,
126125
}];
127126

128127
let assemblyFormat = "attr-dict `:` type($result)";
129-
let verifier = [{ return success(); }];
130128
}
131129

132130
def GPU_SubgroupSizeOp : GPU_Op<"subgroup_size", [NoSideEffect]>,
@@ -142,7 +140,6 @@ def GPU_SubgroupSizeOp : GPU_Op<"subgroup_size", [NoSideEffect]>,
142140
}];
143141

144142
let assemblyFormat = "attr-dict `:` type($result)";
145-
let verifier = [{ return success(); }];
146143
}
147144

148145
def GPU_GPUFuncOp : GPU_Op<"func", [
@@ -298,7 +295,6 @@ def GPU_GPUFuncOp : GPU_Op<"func", [
298295
LogicalResult verifyBody();
299296
}];
300297

301-
// let verifier = [{ return ::verifFuncOpy(*this); }];
302298
let printer = [{ printGPUFuncOp(p, *this); }];
303299
let parser = [{ return parseGPUFuncOp(parser, result); }];
304300
}
@@ -434,7 +430,6 @@ def GPU_LaunchFuncOp : GPU_Op<"launch_func",
434430
static StringRef getKernelAttrName() { return "kernel"; }
435431
}];
436432

437-
let verifier = [{ return ::verify(*this); }];
438433
let assemblyFormat = [{
439434
custom<AsyncDependencies>(type($asyncToken), $asyncDependencies)
440435
$kernel
@@ -443,6 +438,7 @@ def GPU_LaunchFuncOp : GPU_Op<"launch_func",
443438
(`dynamic_shared_memory_size` $dynamicSharedMemorySize^)?
444439
custom<LaunchFuncOperands>($operands, type($operands)) attr-dict
445440
}];
441+
let hasVerifier = 1;
446442
}
447443

448444
def GPU_LaunchOp : GPU_Op<"launch">,
@@ -562,8 +558,8 @@ def GPU_LaunchOp : GPU_Op<"launch">,
562558

563559
let parser = [{ return parseLaunchOp(parser, result); }];
564560
let printer = [{ printLaunchOp(p, *this); }];
565-
let verifier = [{ return ::verify(*this); }];
566561
let hasCanonicalizer = 1;
562+
let hasVerifier = 1;
567563
}
568564

569565
def GPU_PrintfOp : GPU_Op<"printf", [MemoryEffects<[MemWrite]>]>,
@@ -595,7 +591,7 @@ def GPU_ReturnOp : GPU_Op<"return", [HasParent<"GPUFuncOp">, NoSideEffect,
595591
let builders = [OpBuilder<(ins), [{ // empty}]>];
596592

597593
let assemblyFormat = "attr-dict ($operands^ `:` type($operands))?";
598-
let verifier = [{ return ::verify(*this); }];
594+
let hasVerifier = 1;
599595
}
600596

601597
def GPU_TerminatorOp : GPU_Op<"terminator", [HasParent<"LaunchOp">,
@@ -682,9 +678,9 @@ def GPU_AllReduceOp : GPU_Op<"all_reduce",
682678
in convergence.
683679
}];
684680
let regions = (region AnyRegion:$body);
685-
let verifier = [{ return ::verifyAllReduce(*this); }];
686681
let assemblyFormat = [{ custom<AllReduceOperation>($op) $value $body attr-dict
687682
`:` functional-type(operands, results) }];
683+
let hasVerifier = 1;
688684
}
689685

690686
def GPU_ShuffleOpXor : I32EnumAttrCase<"XOR", 0, "xor">;
@@ -822,7 +818,6 @@ def GPU_HostRegisterOp : GPU_Op<"host_register">,
822818
}];
823819

824820
let assemblyFormat = "$value attr-dict `:` type($value)";
825-
let verifier = [{ return success(); }];
826821
}
827822

828823
def GPU_WaitOp : GPU_Op<"wait", [GPU_AsyncOpInterface]> {
@@ -971,8 +966,8 @@ def GPU_MemcpyOp : GPU_Op<"memcpy", [GPU_AsyncOpInterface]> {
971966
custom<AsyncDependencies>(type($asyncToken), $asyncDependencies)
972967
$dst`,` $src `:` type($dst)`,` type($src) attr-dict
973968
}];
974-
let verifier = [{ return ::verify(*this); }];
975969
let hasFolder = 1;
970+
let hasVerifier = 1;
976971
}
977972

978973
def GPU_MemsetOp : GPU_Op<"memset",
@@ -1006,8 +1001,6 @@ def GPU_MemsetOp : GPU_Op<"memset",
10061001
custom<AsyncDependencies>(type($asyncToken), $asyncDependencies)
10071002
$dst`,` $value `:` type($dst)`,` type($value) attr-dict
10081003
}];
1009-
// MemsetOp is fully verified by traits.
1010-
let verifier = [{ return success(); }];
10111004
let hasFolder = 1;
10121005
}
10131006

@@ -1048,8 +1041,7 @@ def GPU_SubgroupMmaLoadMatrixOp : GPU_Op<"subgroup_mma_load_matrix",
10481041
let assemblyFormat = [{
10491042
$srcMemref`[`$indices`]` attr-dict `:` type($srcMemref) `->` type($res)
10501043
}];
1051-
1052-
let verifier = [{ return ::verify(*this); }];
1044+
let hasVerifier = 1;
10531045
}
10541046

10551047
def GPU_SubgroupMmaStoreMatrixOp : GPU_Op<"subgroup_mma_store_matrix",
@@ -1086,8 +1078,7 @@ def GPU_SubgroupMmaStoreMatrixOp : GPU_Op<"subgroup_mma_store_matrix",
10861078
let assemblyFormat = [{
10871079
$src`,` $dstMemref`[`$indices`]` attr-dict `:` type($src)`,` type($dstMemref)
10881080
}];
1089-
1090-
let verifier = [{ return ::verify(*this); }];
1081+
let hasVerifier = 1;
10911082
}
10921083

10931084
def GPU_SubgroupMmaComputeOp : GPU_Op<"subgroup_mma_compute",
@@ -1125,8 +1116,7 @@ def GPU_SubgroupMmaComputeOp : GPU_Op<"subgroup_mma_compute",
11251116
let assemblyFormat = [{
11261117
$opA`,` $opB`,` $opC attr-dict `:` type($opA)`,` type($opB) `->` type($res)
11271118
}];
1128-
1129-
let verifier = [{ return ::verify(*this); }];
1119+
let hasVerifier = 1;
11301120
}
11311121

11321122
def GPU_SubgroupMmaConstantMatrixOp : GPU_Op<"subgroup_mma_constant_matrix",

mlir/include/mlir/Dialect/SCF/SCFOps.td

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ class SCF_Op<string mnemonic, list<Trait> traits = []> :
2929
Op<SCF_Dialect, mnemonic, traits> {
3030
// For every standard op, there needs to be a:
3131
// * void print(OpAsmPrinter &p, ${C++ class of Op} op)
32-
// * LogicalResult verify(${C++ class of Op} op)
3332
// * ParseResult parse${C++ class of Op}(OpAsmParser &parser,
3433
// OperationState &result)
3534
// functions.
3635
let printer = [{ return ::print(p, *this); }];
37-
let verifier = [{ return ::verify(*this); }];
3836
let parser = [{ return ::parse$cppClass(parser, result); }];
3937
}
4038

@@ -56,9 +54,6 @@ def ConditionOp : SCF_Op<"condition", [
5654

5755
let assemblyFormat =
5856
[{ `(` $condition `)` attr-dict ($args^ `:` type($args))? }];
59-
60-
// Override the default verifier, everything is checked by traits.
61-
let verifier = ?;
6257
}
6358

6459
//===----------------------------------------------------------------------===//
@@ -114,6 +109,7 @@ def ExecuteRegionOp : SCF_Op<"execute_region"> {
114109
let hasCanonicalizer = 1;
115110

116111
let hasFolder = 0;
112+
let hasVerifier = 1;
117113
}
118114

119115
def ForOp : SCF_Op<"for",
@@ -312,6 +308,7 @@ def ForOp : SCF_Op<"for",
312308
}];
313309

314310
let hasCanonicalizer = 1;
311+
let hasVerifier = 1;
315312
}
316313

317314
def IfOp : SCF_Op<"if",
@@ -404,6 +401,7 @@ def IfOp : SCF_Op<"if",
404401
}];
405402
let hasFolder = 1;
406403
let hasCanonicalizer = 1;
404+
let hasVerifier = 1;
407405
}
408406

409407
def ParallelOp : SCF_Op<"parallel",
@@ -485,6 +483,7 @@ def ParallelOp : SCF_Op<"parallel",
485483
}];
486484

487485
let hasCanonicalizer = 1;
486+
let hasVerifier = 1;
488487
}
489488

490489
def ReduceOp : SCF_Op<"reduce", [HasParent<"ParallelOp">]> {
@@ -533,6 +532,7 @@ def ReduceOp : SCF_Op<"reduce", [HasParent<"ParallelOp">]> {
533532

534533
let arguments = (ins AnyType:$operand);
535534
let regions = (region SizedRegion<1>:$reductionOperator);
535+
let hasVerifier = 1;
536536
}
537537

538538
def ReduceReturnOp :
@@ -551,6 +551,7 @@ def ReduceReturnOp :
551551

552552
let arguments = (ins AnyType:$result);
553553
let assemblyFormat = "$result attr-dict `:` type($result)";
554+
let hasVerifier = 1;
554555
}
555556

556557
def WhileOp : SCF_Op<"while",
@@ -683,6 +684,7 @@ def WhileOp : SCF_Op<"while",
683684
}];
684685

685686
let hasCanonicalizer = 1;
687+
let hasVerifier = 1;
686688
}
687689

688690
def YieldOp : SCF_Op<"yield", [NoSideEffect, ReturnLike, Terminator,
@@ -706,10 +708,6 @@ def YieldOp : SCF_Op<"yield", [NoSideEffect, ReturnLike, Terminator,
706708

707709
let assemblyFormat =
708710
[{ attr-dict ($results^ `:` type($results))? }];
709-
710-
// Override default verifier (defined in SCF_Op), no custom verification
711-
// needed.
712-
let verifier = ?;
713711
}
714712

715713
#endif // MLIR_DIALECT_SCF_SCFOPS

0 commit comments

Comments
 (0)