diff options
| author | River Riddle <riverriddle@google.com> | 2018-10-30 14:59:22 -0700 |
|---|---|---|
| committer | jpienaar <jpienaar@google.com> | 2019-03-29 13:45:54 -0700 |
| commit | 4c465a181db49c436f62da303e8fdd3ed317fee7 (patch) | |
| tree | fb190912d0714222d6e336e19d5b8ea16342fb6e /mlir/lib/Transforms/Utils | |
| parent | 75376b8e33c67a42e3dca2c597197e0622b6eaa2 (diff) | |
| download | bcm5719-llvm-4c465a181db49c436f62da303e8fdd3ed317fee7.tar.gz bcm5719-llvm-4c465a181db49c436f62da303e8fdd3ed317fee7.zip | |
Implement value type abstraction for types.
This is done by changing Type to be a POD interface around an underlying pointer storage and adding in-class support for isa/dyn_cast/cast.
PiperOrigin-RevId: 219372163
Diffstat (limited to 'mlir/lib/Transforms/Utils')
| -rw-r--r-- | mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp | 2 | ||||
| -rw-r--r-- | mlir/lib/Transforms/Utils/Utils.cpp | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp index cdf5b7166a0..4ec89425189 100644 --- a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp +++ b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp @@ -78,7 +78,7 @@ private: /// As part of canonicalization, we move constants to the top of the entry /// block of the current function and de-duplicate them. This keeps track of /// constants we have done this for. - DenseMap<std::pair<Attribute, Type *>, Operation *> uniquedConstants; + DenseMap<std::pair<Attribute, Type>, Operation *> uniquedConstants; }; }; // end anonymous namespace diff --git a/mlir/lib/Transforms/Utils/Utils.cpp b/mlir/lib/Transforms/Utils/Utils.cpp index edd8ce85317..ad9d6dcb769 100644 --- a/mlir/lib/Transforms/Utils/Utils.cpp +++ b/mlir/lib/Transforms/Utils/Utils.cpp @@ -52,9 +52,9 @@ bool mlir::replaceAllMemRefUsesWith(const MLValue *oldMemRef, MLValue *newMemRef, ArrayRef<MLValue *> extraIndices, AffineMap indexRemap) { - unsigned newMemRefRank = cast<MemRefType>(newMemRef->getType())->getRank(); + unsigned newMemRefRank = newMemRef->getType().cast<MemRefType>().getRank(); (void)newMemRefRank; // unused in opt mode - unsigned oldMemRefRank = cast<MemRefType>(oldMemRef->getType())->getRank(); + unsigned oldMemRefRank = oldMemRef->getType().cast<MemRefType>().getRank(); (void)newMemRefRank; if (indexRemap) { assert(indexRemap.getNumInputs() == oldMemRefRank); @@ -64,8 +64,8 @@ bool mlir::replaceAllMemRefUsesWith(const MLValue *oldMemRef, } // Assert same elemental type. - assert(cast<MemRefType>(oldMemRef->getType())->getElementType() == - cast<MemRefType>(newMemRef->getType())->getElementType()); + assert(oldMemRef->getType().cast<MemRefType>().getElementType() == + newMemRef->getType().cast<MemRefType>().getElementType()); // Check if memref was used in a non-deferencing context. for (const StmtOperand &use : oldMemRef->getUses()) { @@ -139,7 +139,7 @@ bool mlir::replaceAllMemRefUsesWith(const MLValue *oldMemRef, opStmt->operand_end()); // Result types don't change. Both memref's are of the same elemental type. - SmallVector<Type *, 8> resultTypes; + SmallVector<Type, 8> resultTypes; resultTypes.reserve(opStmt->getNumResults()); for (const auto *result : opStmt->getResults()) resultTypes.push_back(result->getType()); |

