diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td @@ -251,7 +251,7 @@ // Intrinsics with multiple returns. class LLVM_ArithWithOverflowOp - : LLVM_IntrOp, + : LLVM_IntrOp, Arguments<(ins LLVM_ScalarOrVectorOf, LLVM_ScalarOrVectorOf)>; diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td @@ -797,7 +797,7 @@ $res = op; }]; } -def LLVM_FreezeOp : LLVM_Op<"freeze", [SameOperandsAndResultType]> { +def LLVM_FreezeOp : LLVM_Op<"freeze", [Pure, SameOperandsAndResultType]> { let arguments = (ins LLVM_Type:$val); let results = (outs LLVM_Type:$res); let builders = [LLVM_OneResultOpBuilder];