summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Transforms/PipelineDataTransfer.cpp
diff options
context:
space:
mode:
authorRiver Riddle <riverriddle@google.com>2018-10-30 14:59:22 -0700
committerjpienaar <jpienaar@google.com>2019-03-29 13:45:54 -0700
commit4c465a181db49c436f62da303e8fdd3ed317fee7 (patch)
treefb190912d0714222d6e336e19d5b8ea16342fb6e /mlir/lib/Transforms/PipelineDataTransfer.cpp
parent75376b8e33c67a42e3dca2c597197e0622b6eaa2 (diff)
downloadbcm5719-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/PipelineDataTransfer.cpp')
-rw-r--r--mlir/lib/Transforms/PipelineDataTransfer.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/mlir/lib/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Transforms/PipelineDataTransfer.cpp
index d96d65b5fb7..90421819d82 100644
--- a/mlir/lib/Transforms/PipelineDataTransfer.cpp
+++ b/mlir/lib/Transforms/PipelineDataTransfer.cpp
@@ -77,23 +77,23 @@ static bool doubleBuffer(const MLValue *oldMemRef, ForStmt *forStmt) {
bInner.setInsertionPoint(forStmt, forStmt->begin());
// Doubles the shape with a leading dimension extent of 2.
- auto doubleShape = [&](MemRefType *oldMemRefType) -> MemRefType * {
+ auto doubleShape = [&](MemRefType oldMemRefType) -> MemRefType {
// Add the leading dimension in the shape for the double buffer.
- ArrayRef<int> shape = oldMemRefType->getShape();
+ ArrayRef<int> shape = oldMemRefType.getShape();
SmallVector<int, 4> shapeSizes(shape.begin(), shape.end());
shapeSizes.insert(shapeSizes.begin(), 2);
- auto *newMemRefType =
- bInner.getMemRefType(shapeSizes, oldMemRefType->getElementType(), {},
- oldMemRefType->getMemorySpace());
+ auto newMemRefType =
+ bInner.getMemRefType(shapeSizes, oldMemRefType.getElementType(), {},
+ oldMemRefType.getMemorySpace());
return newMemRefType;
};
- auto *newMemRefType = doubleShape(cast<MemRefType>(oldMemRef->getType()));
+ auto newMemRefType = doubleShape(oldMemRef->getType().cast<MemRefType>());
// Create and place the alloc at the top level.
MLFuncBuilder topBuilder(forStmt->getFunction());
- auto *newMemRef = cast<MLValue>(
+ auto newMemRef = cast<MLValue>(
topBuilder.create<AllocOp>(forStmt->getLoc(), newMemRefType)
->getResult());
OpenPOWER on IntegriCloud