summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Support
diff options
context:
space:
mode:
authorGeoffrey Martin-Noble <gcmn@google.com>2019-07-17 17:06:33 -0700
committerMehdi Amini <joker.eph@gmail.com>2019-07-19 11:39:16 -0700
commitec66bc57a879189c9c3dfc82fcc62073e85f8fdd (patch)
tree5b11e3a6660d002a2333cc8b6a79b1792a5e4f98 /mlir/lib/Support
parent68c409238e8e2bb6e57d6f6821228772d84d0810 (diff)
downloadbcm5719-llvm-ec66bc57a879189c9c3dfc82fcc62073e85f8fdd.tar.gz
bcm5719-llvm-ec66bc57a879189c9c3dfc82fcc62073e85f8fdd.zip
Add helper to get flattened tuple types
The API on TupleType::getFlattenedTypes follows our normal conventions by accepting an output parameter, but requires callers to allocate their own storage and lends itself to use in an imperative style. This makes it difficult to use in tablegen. The current solution is to define a lambda that is immediately called, but it's cleaner to extract that into a helper. PiperOrigin-RevId: 258672046
Diffstat (limited to 'mlir/lib/Support')
-rw-r--r--mlir/lib/Support/TypeUtilities.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/mlir/lib/Support/TypeUtilities.cpp b/mlir/lib/Support/TypeUtilities.cpp
index 63b04f4cbba..4826a2a50aa 100644
--- a/mlir/lib/Support/TypeUtilities.cpp
+++ b/mlir/lib/Support/TypeUtilities.cpp
@@ -45,6 +45,12 @@ Type mlir::getElementTypeOrSelf(Attribute attr) {
return getElementTypeOrSelf(attr.getType());
}
+SmallVector<Type, 10> mlir::getFlattenedTypes(TupleType t) {
+ SmallVector<Type, 10> fTypes;
+ t.getFlattenedTypes(fTypes);
+ return fTypes;
+}
+
OperandElementTypeIterator::OperandElementTypeIterator(OperandIterator it)
: llvm::mapped_iterator<OperandIterator, Type (*)(Value *)>(it, &unwrap) {}
OpenPOWER on IntegriCloud