diff options
| author | Geoffrey Martin-Noble <gcmn@google.com> | 2019-07-17 17:06:33 -0700 |
|---|---|---|
| committer | Mehdi Amini <joker.eph@gmail.com> | 2019-07-19 11:39:16 -0700 |
| commit | ec66bc57a879189c9c3dfc82fcc62073e85f8fdd (patch) | |
| tree | 5b11e3a6660d002a2333cc8b6a79b1792a5e4f98 /mlir/lib/Support | |
| parent | 68c409238e8e2bb6e57d6f6821228772d84d0810 (diff) | |
| download | bcm5719-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.cpp | 6 |
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) {} |

