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 @@ -770,11 +770,6 @@ DenseI64ArrayAttr:$position); let results = (outs LLVM_AnyAggregate:$res); - let builders = [ - OpBuilder<(ins "Value":$container, "Value":$value, - "ArrayRef":$position)> - ]; - let assemblyFormat = [{ $value `,` $container `` $position attr-dict `:` type($container) custom(type($value), ref(type($container)), diff --git a/mlir/include/mlir/IR/Builders.h b/mlir/include/mlir/IR/Builders.h --- a/mlir/include/mlir/IR/Builders.h +++ b/mlir/include/mlir/IR/Builders.h @@ -138,6 +138,7 @@ DenseIntElementsAttr getIndexTensorAttr(ArrayRef values); /// Tensor-typed DenseArrayAttr getters. + DenseBoolArrayAttr getDenseBoolArrayAttr(ArrayRef values); DenseI8ArrayAttr getDenseI8ArrayAttr(ArrayRef values); DenseI16ArrayAttr getDenseI16ArrayAttr(ArrayRef values); DenseI32ArrayAttr getDenseI32ArrayAttr(ArrayRef values); diff --git a/mlir/include/mlir/IR/OpBase.td b/mlir/include/mlir/IR/OpBase.td --- a/mlir/include/mlir/IR/OpBase.td +++ b/mlir/include/mlir/IR/OpBase.td @@ -1291,6 +1291,7 @@ summaryName # " dense array attribute"> { let storageType = "::mlir::" # denseAttrName; let returnType = "::llvm::ArrayRef<" # cppType # ">"; + let constBuilderCall = "$_builder.get" # denseAttrName # "($0)"; } def DenseBoolArrayAttr : DenseArrayAttrBase<"DenseBoolArrayAttr", "bool", "i1">; def DenseI8ArrayAttr : DenseArrayAttrBase<"DenseI8ArrayAttr", "int8_t", "i8">; diff --git a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp --- a/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp +++ b/mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp @@ -1619,13 +1619,6 @@ return success(); } -void InsertValueOp::build(OpBuilder &builder, OperationState &state, - Value container, Value value, - ArrayRef position) { - build(builder, state, container.getType(), container, value, - builder.getAttr(position)); -} - //===----------------------------------------------------------------------===// // ReturnOp //===----------------------------------------------------------------------===// diff --git a/mlir/lib/IR/Builders.cpp b/mlir/lib/IR/Builders.cpp --- a/mlir/lib/IR/Builders.cpp +++ b/mlir/lib/IR/Builders.cpp @@ -124,6 +124,10 @@ values); } +DenseBoolArrayAttr Builder::getDenseBoolArrayAttr(ArrayRef values) { + return DenseBoolArrayAttr::get(context, values); +} + DenseI8ArrayAttr Builder::getDenseI8ArrayAttr(ArrayRef values) { return DenseI8ArrayAttr::get(context, values); }