@@ -76,7 +76,7 @@ class LLVM_IntArithmeticOpWithOverflowFlag<string mnemonic, string instName,
7676 "$res = builder.Create" # instName #
7777 "($lhs, $rhs, /*Name=*/\"\", op.hasNoUnsignedWrap(), op.hasNoSignedWrap());";
7878}
79- class LLVM_IntArithmeticOpWithIsExact <string mnemonic, string instName,
79+ class LLVM_IntArithmeticOpWithExactFlag <string mnemonic, string instName,
8080 list<Trait> traits = []> :
8181 LLVM_ArithmeticOpBase<AnySignlessInteger, mnemonic, instName,
8282 !listconcat([DeclareOpInterfaceMethods<ExactFlagInterface>], traits)> {
@@ -134,8 +134,8 @@ def LLVM_AddOp : LLVM_IntArithmeticOpWithOverflowFlag<"add", "Add",
134134def LLVM_SubOp : LLVM_IntArithmeticOpWithOverflowFlag<"sub", "Sub", []>;
135135def LLVM_MulOp : LLVM_IntArithmeticOpWithOverflowFlag<"mul", "Mul",
136136 [Commutative]>;
137- def LLVM_UDivOp : LLVM_IntArithmeticOpWithIsExact <"udiv", "UDiv">;
138- def LLVM_SDivOp : LLVM_IntArithmeticOpWithIsExact <"sdiv", "SDiv">;
137+ def LLVM_UDivOp : LLVM_IntArithmeticOpWithExactFlag <"udiv", "UDiv">;
138+ def LLVM_SDivOp : LLVM_IntArithmeticOpWithExactFlag <"sdiv", "SDiv">;
139139def LLVM_URemOp : LLVM_IntArithmeticOp<"urem", "URem">;
140140def LLVM_SRemOp : LLVM_IntArithmeticOp<"srem", "SRem">;
141141def LLVM_AndOp : LLVM_IntArithmeticOp<"and", "And">;
@@ -146,8 +146,8 @@ def LLVM_XOrOp : LLVM_IntArithmeticOp<"xor", "Xor">;
146146def LLVM_ShlOp : LLVM_IntArithmeticOpWithOverflowFlag<"shl", "Shl", []> {
147147 let hasFolder = 1;
148148}
149- def LLVM_LShrOp : LLVM_IntArithmeticOpWithIsExact <"lshr", "LShr">;
150- def LLVM_AShrOp : LLVM_IntArithmeticOpWithIsExact <"ashr", "AShr">;
149+ def LLVM_LShrOp : LLVM_IntArithmeticOpWithExactFlag <"lshr", "LShr">;
150+ def LLVM_AShrOp : LLVM_IntArithmeticOpWithExactFlag <"ashr", "AShr">;
151151
152152// Base class for compare operations. A compare operation takes two operands
153153// of the same type and returns a boolean result. If the operands are
0 commit comments