aboutsummaryrefslogtreecommitdiff
path: root/mlir/lib/Rewrite/ByteCode.cpp
diff options
context:
space:
mode:
authorJeff Niu <jeff@modular.com>2022-08-12 15:43:03 -0400
committerJeff Niu <jeff@modular.com>2022-08-12 19:44:52 -0400
commit58a47508f03546b4fce668fad751102b94feacfd (patch)
tree6521e3fe3f20c151483b29344d07528802995ffd /mlir/lib/Rewrite/ByteCode.cpp
parent619fd8c2ab505d8f79cbbbe3fd09b02f6640e1b1 (diff)
downloadllvm-58a47508f03546b4fce668fad751102b94feacfd.zip
llvm-58a47508f03546b4fce668fad751102b94feacfd.tar.gz
llvm-58a47508f03546b4fce668fad751102b94feacfd.tar.bz2
(Reland) [mlir] Switch segment size attributes to DenseI32ArrayAttr
This reland includes changes to the Python bindings. Switch variadic operand and result segment size attributes to use the dense i32 array. Dense integer arrays were introduced primarily to represent index lists. They are a better fit for segment sizes than dense elements attrs. Depends on D131801 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D131803
Diffstat (limited to 'mlir/lib/Rewrite/ByteCode.cpp')
-rw-r--r--mlir/lib/Rewrite/ByteCode.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/mlir/lib/Rewrite/ByteCode.cpp b/mlir/lib/Rewrite/ByteCode.cpp
index d4ca8b2..388d6dc 100644
--- a/mlir/lib/Rewrite/ByteCode.cpp
+++ b/mlir/lib/Rewrite/ByteCode.cpp
@@ -1713,11 +1713,11 @@ executeGetOperandsResults(RangeT values, Operation *op, unsigned index,
LLVM_DEBUG(llvm::dbgs()
<< " * Extracting values from `" << attrSizedSegments << "`\n");
- auto segmentAttr = op->getAttrOfType<DenseElementsAttr>(attrSizedSegments);
- if (!segmentAttr || segmentAttr.getNumElements() <= index)
+ auto segmentAttr = op->getAttrOfType<DenseI32ArrayAttr>(attrSizedSegments);
+ if (!segmentAttr || segmentAttr.asArrayRef().size() <= index)
return nullptr;
- auto segments = segmentAttr.getValues<int32_t>();
+ ArrayRef<int32_t> segments = segmentAttr;
unsigned startIndex =
std::accumulate(segments.begin(), segments.begin() + index, 0);
values = values.slice(startIndex, *std::next(segments.begin(), index));