diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td index 81e9f69f15acf..34f3e4b33b829 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td @@ -69,8 +69,7 @@ class LLVM_IntArithmeticOpWithOverflowFlag($overflowFlags) - `` custom(attr-dict) `:` type($res) + $lhs `,` $rhs `` custom($overflowFlags) attr-dict `:` type($res) }]; string llvmBuilder = "$res = builder.Create" # instName # @@ -88,7 +87,7 @@ class LLVM_IntArithmeticOpWithExactFlag(attr-dict) `:` type($res) + (`exact` $isExact^)? $lhs `,` $rhs attr-dict `:` type($res) }]; string llvmBuilder = "$res = builder.Create" # instName # diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp index 6b2d8943bf488..d4f8c4c1faf95 100644 --- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp +++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp @@ -140,15 +140,7 @@ static ParseResult parseLLVMOpAttrs(OpAsmParser &parser, static void printLLVMOpAttrs(OpAsmPrinter &printer, Operation *op, DictionaryAttr attrs) { auto filteredAttrs = processFMFAttr(attrs.getValue()); - if (auto iface = dyn_cast(op)) { - printer.printOptionalAttrDict( - filteredAttrs, /*elidedAttrs=*/{iface.getOverflowFlagsAttrName()}); - } else if (auto iface = dyn_cast(op)) { - printer.printOptionalAttrDict(filteredAttrs, - /*elidedAttrs=*/{iface.getIsExactName()}); - } else { - printer.printOptionalAttrDict(filteredAttrs); - } + printer.printOptionalAttrDict(filteredAttrs); } /// Verifies `symbol`'s use in `op` to ensure the symbol is a valid and