@@ -308,9 +308,6 @@ def ObjSizeOp : CIR_Op<"objsize", [Pure]> {
308
308
`)`
309
309
`->` type($result) attr-dict
310
310
}];
311
-
312
- // Nothing to verify that isn't already covered by constraints.
313
- let hasVerifier = 0;
314
311
}
315
312
316
313
//===----------------------------------------------------------------------===//
@@ -340,9 +337,6 @@ def PtrDiffOp : CIR_Op<"ptr_diff", [Pure, SameTypeOperands]> {
340
337
let assemblyFormat = [{
341
338
`(` $lhs `,` $rhs `)` `:` qualified(type($lhs)) `->` qualified(type($result)) attr-dict
342
339
}];
343
-
344
- // Already covered by the traits
345
- let hasVerifier = 0;
346
340
}
347
341
348
342
//===----------------------------------------------------------------------===//
@@ -380,9 +374,6 @@ def PtrStrideOp : CIR_Op<"ptr_stride",
380
374
return mlir::cast<cir::PointerType>(getBase().getType()).getPointee();
381
375
}
382
376
}];
383
-
384
- // SameFirstOperandAndResultType already checks all we need.
385
- let hasVerifier = 0;
386
377
}
387
378
388
379
//===----------------------------------------------------------------------===//
@@ -545,8 +536,6 @@ def AllocaOp : CIR_Op<"alloca", [
545
536
($annotations^)?
546
537
(`ast` $ast^)? attr-dict
547
538
}];
548
-
549
- let hasVerifier = 0;
550
539
}
551
540
552
541
//===----------------------------------------------------------------------===//
@@ -828,9 +817,6 @@ def TernaryOp : CIR_Op<"ternary",
828
817
>
829
818
];
830
819
831
- // All constraints already verified elsewhere.
832
- let hasVerifier = 0;
833
-
834
820
let assemblyFormat = [{
835
821
`(` $cond `,`
836
822
`true` $trueRegion `,`
@@ -1303,9 +1289,6 @@ def CmpOp : CIR_Op<"cmp", [Pure, SameTypeOperands]> {
1303
1289
let assemblyFormat = [{
1304
1290
`(` $kind `,` $lhs `,` $rhs `)` `:` type($lhs) `,` type($result) attr-dict
1305
1291
}];
1306
-
1307
- // Already covered by the traits
1308
- let hasVerifier = 0;
1309
1292
}
1310
1293
1311
1294
//===----------------------------------------------------------------------===//
@@ -1885,8 +1868,6 @@ def CmpThreeWayOp : CIR_Op<"cmp3way", [Pure, SameTypeOperands]> {
1885
1868
`:` type($result) attr-dict
1886
1869
}];
1887
1870
1888
- let hasVerifier = 0;
1889
-
1890
1871
let extraClassDeclaration = [{
1891
1872
/// Determine whether this three-way comparison produces a strong ordering.
1892
1873
bool isStrongOrdering() {
@@ -2566,9 +2547,6 @@ def GetGlobalOp : CIR_Op<"get_global",
2566
2547
(`thread_local` $tls^)?
2567
2548
$name `:` qualified(type($addr)) attr-dict
2568
2549
}];
2569
-
2570
- // `GetGlobalOp` is fully verified by its traits.
2571
- let hasVerifier = 0;
2572
2550
}
2573
2551
2574
2552
//===----------------------------------------------------------------------===//
@@ -3155,8 +3133,6 @@ def VecInsertOp : CIR_Op<"vec.insert", [Pure,
3155
3133
qualified(type($vec))
3156
3134
}];
3157
3135
3158
- let hasVerifier = 0;
3159
-
3160
3136
let llvmOp = "InsertElementOp";
3161
3137
}
3162
3138
@@ -3185,8 +3161,6 @@ def VecExtractOp : CIR_Op<"vec.extract", [Pure,
3185
3161
$vec `[` $index `:` type($index) `]` attr-dict `:` qualified(type($vec))
3186
3162
}];
3187
3163
3188
- let hasVerifier = 0;
3189
-
3190
3164
let llvmOp = "ExtractElementOp";
3191
3165
}
3192
3166
@@ -3239,7 +3213,6 @@ def VecSplatOp : CIR_Op<"vec.splat", [Pure,
3239
3213
let assemblyFormat = [{
3240
3214
$value `:` type($value) `,` qualified(type($result)) attr-dict
3241
3215
}];
3242
- let hasVerifier = 0;
3243
3216
}
3244
3217
3245
3218
//===----------------------------------------------------------------------===//
@@ -3264,8 +3237,6 @@ def VecCmpOp : CIR_Op<"vec.cmp", [Pure, SameTypeOperands]> {
3264
3237
`(` $kind `,` $lhs `,` $rhs `)` `:` qualified(type($lhs)) `,`
3265
3238
qualified(type($result)) attr-dict
3266
3239
}];
3267
-
3268
- let hasVerifier = 0;
3269
3240
}
3270
3241
3271
3242
//===----------------------------------------------------------------------===//
@@ -3390,6 +3361,8 @@ def BaseClassAddrOp : CIR_Op<"base_class_addr"> {
3390
3361
```
3391
3362
}];
3392
3363
3364
+ // The validity of the relationship of derived and base cannot yet be
3365
+ // verified, currently not worth adding a verifier.
3393
3366
let arguments = (ins
3394
3367
Arg<CIR_PointerType, "derived class pointer", [MemRead]>:$derived_addr,
3395
3368
IndexAttr:$offset, UnitAttr:$assume_not_null);
@@ -3402,11 +3375,6 @@ def BaseClassAddrOp : CIR_Op<"base_class_addr"> {
3402
3375
(`nonnull` $assume_not_null^)?
3403
3376
`)` `[` $offset `]` `->` qualified(type($base_addr)) attr-dict
3404
3377
}];
3405
-
3406
- // The validity of the relationship of derived and base cannot
3407
- // yet be verified, currently not worth adding such a feature
3408
- // just for this.
3409
- let hasVerifier = 0;
3410
3378
}
3411
3379
3412
3380
def DerivedClassAddrOp : CIR_Op<"derived_class_addr"> {
@@ -3444,6 +3412,8 @@ def DerivedClassAddrOp : CIR_Op<"derived_class_addr"> {
3444
3412
```
3445
3413
}];
3446
3414
3415
+ // The validity of the relationship of derived and base cannot yet be
3416
+ // verified, currently not worth adding a verifier.
3447
3417
let arguments = (ins
3448
3418
Arg<CIR_PointerType, "derived class pointer", [MemRead]>:$base_addr,
3449
3419
IndexAttr:$offset, UnitAttr:$assume_not_null);
@@ -3456,11 +3426,6 @@ def DerivedClassAddrOp : CIR_Op<"derived_class_addr"> {
3456
3426
(`nonnull` $assume_not_null^)?
3457
3427
`)` `[` $offset `]` `->` qualified(type($derived_addr)) attr-dict
3458
3428
}];
3459
-
3460
- // The validity of the relationship of derived and base cannot
3461
- // yet be verified, currently not worth adding such a feature
3462
- // just for this.
3463
- let hasVerifier = 0;
3464
3429
}
3465
3430
3466
3431
//===----------------------------------------------------------------------===//
@@ -3865,7 +3830,6 @@ def DeleteArrayOp : CIR_Op<"delete.array">,
3865
3830
will be translated to `cir.delete.array %ptr`.
3866
3831
}];
3867
3832
let assemblyFormat = "$address `:` type($address) attr-dict";
3868
- let hasVerifier = 0;
3869
3833
}
3870
3834
3871
3835
//===----------------------------------------------------------------------===//
@@ -3958,7 +3922,6 @@ class CIR_CallOp<string mnemonic, list<Trait> extra_traits = []> :
3958
3922
3959
3923
let hasCustomAssemblyFormat = 1;
3960
3924
let skipDefaultBuilders = 1;
3961
- let hasVerifier = 0;
3962
3925
3963
3926
dag commonArgs = (ins
3964
3927
OptionalAttr<FlatSymbolRefAttr>:$callee,
@@ -4310,7 +4273,6 @@ def TryOp : CIR_Op<"try",
4310
4273
}];
4311
4274
4312
4275
// Everything already covered elsewhere.
4313
- let hasVerifier = 0;
4314
4276
let builders = [
4315
4277
OpBuilder<(ins
4316
4278
"llvm::function_ref<void(mlir::OpBuilder &, mlir::Location)>":$tryBuilder,
@@ -4390,8 +4352,6 @@ def EhInflightOp : CIR_Op<"eh.inflight_exception"> {
4390
4352
($sym_type_list^)?
4391
4353
attr-dict
4392
4354
}];
4393
-
4394
- let hasVerifier = 0;
4395
4355
}
4396
4356
4397
4357
def EhTypeIdOp : CIR_Op<"eh.typeid",
@@ -4407,8 +4367,6 @@ def EhTypeIdOp : CIR_Op<"eh.typeid",
4407
4367
let assemblyFormat = [{
4408
4368
$type_sym attr-dict
4409
4369
}];
4410
-
4411
- let hasVerifier = 0;
4412
4370
}
4413
4371
4414
4372
//===----------------------------------------------------------------------===//
@@ -4875,7 +4833,6 @@ def AssumeOp : CIR_Op<"assume"> {
4875
4833
}];
4876
4834
4877
4835
let arguments = (ins CIR_BoolType:$predicate);
4878
- let results = (outs);
4879
4836
4880
4837
let assemblyFormat = [{
4881
4838
$predicate `:` type($predicate) attr-dict
@@ -4995,29 +4952,25 @@ def ExpectOp : CIR_Op<"expect",
4995
4952
def VAStartOp : CIR_Op<"va.start">, Arguments<(ins CIR_PointerType:$arg_list)> {
4996
4953
let summary = "Starts a variable argument list";
4997
4954
let assemblyFormat = "$arg_list attr-dict `:` type(operands)";
4998
- let hasVerifier = 0;
4999
4955
}
5000
4956
5001
4957
def VAEndOp : CIR_Op<"va.end">, Arguments<(ins CIR_PointerType:$arg_list)> {
5002
4958
let summary = "Ends a variable argument list";
5003
4959
let assemblyFormat = "$arg_list attr-dict `:` type(operands)";
5004
- let hasVerifier = 0;
5005
4960
}
5006
4961
5007
4962
def VACopyOp : CIR_Op<"va.copy">,
5008
4963
Arguments<(ins CIR_PointerType:$dst_list,
5009
4964
CIR_PointerType:$src_list)> {
5010
4965
let summary = "Copies a variable argument list";
5011
4966
let assemblyFormat = "$src_list `to` $dst_list attr-dict `:` type(operands)";
5012
- let hasVerifier = 0;
5013
4967
}
5014
4968
5015
4969
def VAArgOp : CIR_Op<"va.arg">,
5016
4970
Results<(outs CIR_AnyType:$result)>,
5017
4971
Arguments<(ins CIR_PointerType:$arg_list)> {
5018
4972
let summary = "Fetches next variadic element as a given type";
5019
4973
let assemblyFormat = "$arg_list attr-dict `:` functional-type(operands, $result)";
5020
- let hasVerifier = 0;
5021
4974
}
5022
4975
5023
4976
//===----------------------------------------------------------------------===//
@@ -5053,9 +5006,6 @@ def AllocExceptionOp : CIR_Op<"alloc.exception"> {
5053
5006
let assemblyFormat = [{
5054
5007
$size `->` qualified(type($addr)) attr-dict
5055
5008
}];
5056
-
5057
- // Constraints verified elsewhere.
5058
- let hasVerifier = 0;
5059
5009
}
5060
5010
5061
5011
def FreeExceptionOp : CIR_Op<"free.exception"> {
@@ -5081,14 +5031,10 @@ def FreeExceptionOp : CIR_Op<"free.exception"> {
5081
5031
}];
5082
5032
5083
5033
let arguments = (ins CIR_VoidPtrType:$ptr);
5084
- let results = (outs);
5085
5034
5086
5035
let assemblyFormat = [{
5087
5036
$ptr attr-dict
5088
5037
}];
5089
-
5090
- // Constraints already described.
5091
- let hasVerifier = 0;
5092
5038
}
5093
5039
5094
5040
//===----------------------------------------------------------------------===//
@@ -5697,13 +5643,10 @@ def AtomicFence : CIR_Op<"atomic.fence"> {
5697
5643
}];
5698
5644
let arguments = (ins Arg<MemOrder, "memory order">:$ordering,
5699
5645
OptionalAttr<MemScopeKind>:$syncscope);
5700
- let results = (outs);
5701
5646
5702
5647
let assemblyFormat = [{
5703
5648
(`syncscope` `(` $syncscope^ `)`)? $ordering attr-dict
5704
5649
}];
5705
-
5706
- let hasVerifier = 0;
5707
5650
}
5708
5651
5709
5652
def SignBitOp : CIR_Op<"signbit", [Pure]> {
@@ -5723,7 +5666,7 @@ def SignBitOp : CIR_Op<"signbit", [Pure]> {
5723
5666
// LinkerOptionsOp
5724
5667
//===----------------------------------------------------------------------===//
5725
5668
5726
- def LinkerOptionsOp : CIR_Op<"linker_options"> {
5669
+ def LinkerOptionsOp : CIR_Op<"linker_options", [HasParent<"mlir::ModuleOp">] > {
5727
5670
let summary = "Options to pass to the linker when the object file is linked";
5728
5671
let description = [{
5729
5672
Pass the given options to the linker when the resulting object file
@@ -5745,8 +5688,6 @@ def LinkerOptionsOp : CIR_Op<"linker_options"> {
5745
5688
let assemblyFormat = [{
5746
5689
$options attr-dict
5747
5690
}];
5748
-
5749
- let hasVerifier = 1;
5750
5691
}
5751
5692
5752
5693
//===----------------------------------------------------------------------===//
0 commit comments