@@ -49,15 +49,15 @@ class LLVM_ArithmeticOpBase<Type type, string mnemonic,
49
49
}
50
50
class LLVM_IntArithmeticOp<string mnemonic, string instName,
51
51
list<Trait> traits = []> :
52
- LLVM_ArithmeticOpBase<AnyInteger , mnemonic, instName, traits> {
52
+ LLVM_ArithmeticOpBase<AnySignlessInteger , mnemonic, instName, traits> {
53
53
let arguments = commonArgs;
54
54
string mlirBuilder = [{
55
55
$res = $_builder.create<$_qualCppClassName>($_location, $lhs, $rhs);
56
56
}];
57
57
}
58
58
class LLVM_IntArithmeticOpWithOverflowFlag<string mnemonic, string instName,
59
59
list<Trait> traits = []> :
60
- LLVM_ArithmeticOpBase<AnyInteger , mnemonic, instName,
60
+ LLVM_ArithmeticOpBase<AnySignlessInteger , mnemonic, instName,
61
61
!listconcat([DeclareOpInterfaceMethods<IntegerOverflowFlagsInterface>], traits)> {
62
62
dag iofArg = (
63
63
ins DefaultValuedAttr<LLVM_IntegerOverflowFlagsAttr, "{}">:$overflowFlags);
@@ -143,9 +143,9 @@ class LLVM_ArithmeticCmpOp<string mnemonic, list<Trait> traits = []> :
143
143
// Other integer operations.
144
144
def LLVM_ICmpOp : LLVM_ArithmeticCmpOp<"icmp", [Pure]> {
145
145
let arguments = (ins ICmpPredicate:$predicate,
146
- AnyTypeOf<[LLVM_ScalarOrVectorOf<AnyInteger >,
146
+ AnyTypeOf<[LLVM_ScalarOrVectorOf<AnySignlessInteger >,
147
147
LLVM_ScalarOrVectorOf<LLVM_AnyPointer>]>:$lhs,
148
- AnyTypeOf<[LLVM_ScalarOrVectorOf<AnyInteger >,
148
+ AnyTypeOf<[LLVM_ScalarOrVectorOf<AnySignlessInteger >,
149
149
LLVM_ScalarOrVectorOf<LLVM_AnyPointer>]>:$rhs);
150
150
let hasCustomAssemblyFormat = 1;
151
151
string llvmInstName = "ICmp";
@@ -204,7 +204,7 @@ def LLVM_AllocaOp : LLVM_Op<"alloca",
204
204
DeclareOpInterfaceMethods<DestructurableAllocationOpInterface>,
205
205
DeclareOpInterfaceMethods<GetResultPtrElementType>]>,
206
206
LLVM_MemOpPatterns {
207
- let arguments = (ins AnyInteger :$arraySize,
207
+ let arguments = (ins AnySignlessInteger :$arraySize,
208
208
OptionalAttr<I64Attr>:$alignment,
209
209
TypeAttr:$elem_type,
210
210
UnitAttr:$inalloca);
@@ -250,7 +250,7 @@ def LLVM_GEPOp : LLVM_Op<"getelementptr", [Pure,
250
250
DeclareOpInterfaceMethods<DestructurableAccessorOpInterface>,
251
251
DeclareOpInterfaceMethods<GetResultPtrElementType>]> {
252
252
let arguments = (ins LLVM_ScalarOrVectorOf<LLVM_AnyPointer>:$base,
253
- Variadic<LLVM_ScalarOrVectorOf<AnyInteger >>:$dynamicIndices,
253
+ Variadic<LLVM_ScalarOrVectorOf<AnySignlessInteger >>:$dynamicIndices,
254
254
DenseI32ArrayAttr:$rawConstantIndices,
255
255
TypeAttr:$elem_type,
256
256
UnitAttr:$inbounds);
@@ -499,37 +499,37 @@ def LLVM_AddrSpaceCastOp : LLVM_CastOp<"addrspacecast", "AddrSpaceCast",
499
499
let hasFolder = 1;
500
500
}
501
501
def LLVM_IntToPtrOp : LLVM_CastOp<"inttoptr", "IntToPtr",
502
- LLVM_ScalarOrVectorOf<AnyInteger >,
502
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
503
503
LLVM_ScalarOrVectorOf<LLVM_AnyPointer>>;
504
504
def LLVM_PtrToIntOp : LLVM_CastOp<"ptrtoint", "PtrToInt",
505
505
LLVM_ScalarOrVectorOf<LLVM_AnyPointer>,
506
- LLVM_ScalarOrVectorOf<AnyInteger >>;
506
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >>;
507
507
def LLVM_SExtOp : LLVM_CastOp<"sext", "SExt",
508
- LLVM_ScalarOrVectorOf<AnyInteger >,
509
- LLVM_ScalarOrVectorOf<AnyInteger >> {
508
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
509
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >> {
510
510
let hasVerifier = 1;
511
511
}
512
512
def LLVM_ZExtOp : LLVM_CastOp<"zext", "ZExt",
513
- LLVM_ScalarOrVectorOf<AnyInteger >,
514
- LLVM_ScalarOrVectorOf<AnyInteger >> {
513
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
514
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >> {
515
515
let hasFolder = 1;
516
516
let hasVerifier = 1;
517
517
}
518
518
def LLVM_TruncOp : LLVM_CastOp<"trunc", "Trunc",
519
- LLVM_ScalarOrVectorOf<AnyInteger >,
520
- LLVM_ScalarOrVectorOf<AnyInteger >>;
519
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
520
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >>;
521
521
def LLVM_SIToFPOp : LLVM_CastOp<"sitofp", "SIToFP",
522
- LLVM_ScalarOrVectorOf<AnyInteger >,
522
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
523
523
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>>;
524
524
def LLVM_UIToFPOp : LLVM_CastOp<"uitofp", "UIToFP",
525
- LLVM_ScalarOrVectorOf<AnyInteger >,
525
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >,
526
526
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>>;
527
527
def LLVM_FPToSIOp : LLVM_CastOp<"fptosi", "FPToSI",
528
528
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>,
529
- LLVM_ScalarOrVectorOf<AnyInteger >>;
529
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >>;
530
530
def LLVM_FPToUIOp : LLVM_CastOp<"fptoui", "FPToUI",
531
531
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>,
532
- LLVM_ScalarOrVectorOf<AnyInteger >>;
532
+ LLVM_ScalarOrVectorOf<AnySignlessInteger >>;
533
533
def LLVM_FPExtOp : LLVM_CastOp<"fpext", "FPExt",
534
534
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>,
535
535
LLVM_ScalarOrVectorOf<LLVM_AnyFloat>>;
@@ -671,7 +671,7 @@ def LLVM_ExtractElementOp : LLVM_Op<"extractelement", [Pure,
671
671
"LLVM::getVectorElementType($_self)">]> {
672
672
let summary = "Extract an element from an LLVM vector.";
673
673
674
- let arguments = (ins LLVM_AnyVector:$vector, AnyInteger :$position);
674
+ let arguments = (ins LLVM_AnyVector:$vector, AnySignlessInteger :$position);
675
675
let results = (outs LLVM_Type:$res);
676
676
677
677
let assemblyFormat = [{
@@ -733,7 +733,7 @@ def LLVM_InsertElementOp : LLVM_Op<"insertelement", [Pure,
733
733
let summary = "Insert an element into an LLVM vector.";
734
734
735
735
let arguments = (ins LLVM_AnyVector:$vector, LLVM_PrimitiveType:$value,
736
- AnyInteger :$position);
736
+ AnySignlessInteger :$position);
737
737
let results = (outs LLVM_AnyVector:$res);
738
738
739
739
let builders = [LLVM_OneResultOpBuilder];
@@ -971,7 +971,7 @@ def LLVM_SwitchOp : LLVM_TerminatorOp<"switch",
971
971
DeclareOpInterfaceMethods<BranchWeightOpInterface>,
972
972
Pure]> {
973
973
let arguments = (ins
974
- AnyInteger :$value,
974
+ AnySignlessInteger :$value,
975
975
Variadic<AnyType>:$defaultOperands,
976
976
VariadicOfVariadic<AnyType, "case_operand_segments">:$caseOperands,
977
977
OptionalAttr<AnyIntElementsAttr>:$case_values,
@@ -1647,7 +1647,7 @@ def LLVM_ConstantOp
1647
1647
// Atomic operations.
1648
1648
//
1649
1649
1650
- def LLVM_AtomicRMWType : AnyTypeOf<[LLVM_AnyFloat, LLVM_AnyPointer, AnyInteger ]>;
1650
+ def LLVM_AtomicRMWType : AnyTypeOf<[LLVM_AnyFloat, LLVM_AnyPointer, AnySignlessInteger ]>;
1651
1651
1652
1652
def LLVM_AtomicRMWOp : LLVM_MemAccessOpBase<"atomicrmw", [
1653
1653
TypesMatchWith<"result #0 and operand #1 have the same type",
@@ -1696,7 +1696,7 @@ def LLVM_AtomicRMWOp : LLVM_MemAccessOpBase<"atomicrmw", [
1696
1696
let hasVerifier = 1;
1697
1697
}
1698
1698
1699
- def LLVM_AtomicCmpXchgType : AnyTypeOf<[AnyInteger , LLVM_AnyPointer]>;
1699
+ def LLVM_AtomicCmpXchgType : AnyTypeOf<[AnySignlessInteger , LLVM_AnyPointer]>;
1700
1700
1701
1701
def LLVM_AtomicCmpXchgOp : LLVM_MemAccessOpBase<"cmpxchg", [
1702
1702
TypesMatchWith<"operand #1 and operand #2 have the same type",
0 commit comments