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 @@ -117,6 +117,7 @@ IntegerAttr getUI32IntegerAttr(uint32_t value); DenseIntElementsAttr getI32VectorAttr(ArrayRef values); + DenseIntElementsAttr getI64VectorAttr(ArrayRef values); ArrayAttr getAffineMapArrayAttr(ArrayRef values); ArrayAttr getI32ArrayAttr(ArrayRef values); 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 @@ -105,6 +105,14 @@ .cast(); } +DenseIntElementsAttr Builder::getI64VectorAttr(ArrayRef values) { + return DenseElementsAttr::get( + VectorType::get(static_cast(values.size()), + getIntegerType(64)), + values) + .cast(); +} + IntegerAttr Builder::getI32IntegerAttr(int32_t value) { return IntegerAttr::get(getIntegerType(32), APInt(32, value)); }