diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td index 3f27f6d9ae8b7..0afe026be907e 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td @@ -2432,6 +2432,7 @@ def LLVM_CallIntrinsicOp OpBuilder<(ins "StringAttr":$intrin, "ValueRange":$args)>, OpBuilder<(ins "StringAttr":$intrin, "ValueRange":$args, "FastmathFlagsAttr":$fastMathFlags)>, OpBuilder<(ins "Type": $resultType, "StringAttr":$intrin, "ValueRange":$args)>, + OpBuilder<(ins "TypeRange": $resultTypes, "StringAttr":$intrin, "ValueRange":$args)>, OpBuilder<(ins "TypeRange": $resultTypes, "StringAttr":$intrin, "ValueRange":$args, "FastmathFlagsAttr":$fastMathFlags)> ]; diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp index 422039f81855a..fa286be012788 100644 --- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp +++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp @@ -3790,6 +3790,14 @@ void CallIntrinsicOp::build(OpBuilder &builder, OperationState &state, /*res_attrs=*/{}); } +void CallIntrinsicOp::build(OpBuilder &builder, OperationState &state, + mlir::TypeRange resultTypes, + mlir::StringAttr intrin, mlir::ValueRange args) { + build(builder, state, resultTypes, intrin, args, FastmathFlagsAttr{}, + /*op_bundle_operands=*/{}, /*op_bundle_tags=*/{}, /*arg_attrs=*/{}, + /*res_attrs=*/{}); +} + void CallIntrinsicOp::build(OpBuilder &builder, OperationState &state, mlir::TypeRange resultTypes, mlir::StringAttr intrin, mlir::ValueRange args, diff --git a/mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp b/mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp index cb1f234aca50b..9f8b0a0cd4ea0 100644 --- a/mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp +++ b/mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp @@ -43,7 +43,7 @@ LogicalResult mlir::LLVMImportInterface::convertUnregisteredIntrinsic( builder, moduleImport.translateLoc(inst->getDebugLoc()), isa(resultType) ? TypeRange{} : TypeRange{resultType}, StringAttr::get(builder.getContext(), intrinName), - ValueRange{mlirOperands}, FastmathFlagsAttr{}); + ValueRange{mlirOperands}); moduleImport.setFastmathFlagsAttr(inst, op); moduleImport.convertArgAndResultAttrs(inst, op);