[mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed.
Summary: These were temporary methods used to simplify the transition.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D72548
diff --git a/mlir/lib/Transforms/LoopFusion.cpp b/mlir/lib/Transforms/LoopFusion.cpp
index fcfc1d7..970907c8 100644
--- a/mlir/lib/Transforms/LoopFusion.cpp
+++ b/mlir/lib/Transforms/LoopFusion.cpp
@@ -301,12 +301,12 @@
Node *node = getNode(id);
for (auto *storeOpInst : node->stores) {
auto memref = cast<AffineStoreOp>(storeOpInst).getMemRef();
- auto *op = memref->getDefiningOp();
+ auto *op = memref.getDefiningOp();
// Return true if 'memref' is a block argument.
if (!op)
return true;
// Return true if any use of 'memref' escapes the function.
- for (auto *user : memref->getUsers())
+ for (auto *user : memref.getUsers())
if (!isMemRefDereferencingOp(*user))
return true;
}
@@ -390,7 +390,7 @@
if (!hasEdge(srcId, dstId, value)) {
outEdges[srcId].push_back({dstId, value});
inEdges[dstId].push_back({srcId, value});
- if (value->getType().isa<MemRefType>())
+ if (value.getType().isa<MemRefType>())
memrefEdgeCount[value]++;
}
}
@@ -399,7 +399,7 @@
void removeEdge(unsigned srcId, unsigned dstId, Value value) {
assert(inEdges.count(dstId) > 0);
assert(outEdges.count(srcId) > 0);
- if (value->getType().isa<MemRefType>()) {
+ if (value.getType().isa<MemRefType>()) {
assert(memrefEdgeCount.count(value) > 0);
memrefEdgeCount[value]--;
}
@@ -634,7 +634,7 @@
const std::function<void(Edge)> &callback) {
for (auto &edge : edges) {
// Skip if 'edge' is not a memref dependence edge.
- if (!edge.value->getType().isa<MemRefType>())
+ if (!edge.value.getType().isa<MemRefType>())
continue;
assert(nodes.count(edge.id) > 0);
// Skip if 'edge.id' is not a loop nest.
@@ -735,7 +735,7 @@
continue;
auto *opInst = node.op;
for (auto value : opInst->getResults()) {
- for (auto *user : value->getUsers()) {
+ for (auto *user : value.getUsers()) {
SmallVector<AffineForOp, 4> loops;
getLoopIVs(*user, &loops);
if (loops.empty())
@@ -896,7 +896,7 @@
OpBuilder top(forInst->getParentOfType<FuncOp>().getBody());
// Create new memref type based on slice bounds.
auto oldMemRef = cast<AffineStoreOp>(srcStoreOpInst).getMemRef();
- auto oldMemRefType = oldMemRef->getType().cast<MemRefType>();
+ auto oldMemRefType = oldMemRef.getType().cast<MemRefType>();
unsigned rank = oldMemRefType.getRank();
// Compute MemRefRegion for 'srcStoreOpInst' at depth 'dstLoopDepth'.
@@ -1650,7 +1650,7 @@
visitedMemrefs.insert(newMemRef);
// Create new node in dependence graph for 'newMemRef' alloc op.
unsigned newMemRefNodeId =
- mdg->addNode(newMemRef->getDefiningOp());
+ mdg->addNode(newMemRef.getDefiningOp());
// Add edge from 'newMemRef' node to dstNode.
mdg->addEdge(newMemRefNodeId, dstId, newMemRef);
}
@@ -1830,7 +1830,7 @@
// Search for siblings which load the same memref function argument.
auto fn = dstNode->op->getParentOfType<FuncOp>();
for (unsigned i = 0, e = fn.getNumArguments(); i != e; ++i) {
- for (auto *user : fn.getArgument(i)->getUsers()) {
+ for (auto *user : fn.getArgument(i).getUsers()) {
if (auto loadOp = dyn_cast<AffineLoadOp>(user)) {
// Gather loops surrounding 'use'.
SmallVector<AffineForOp, 4> loops;
@@ -1943,10 +1943,10 @@
continue;
auto memref = pair.first;
// Skip if there exist other uses (return operation or function calls).
- if (!memref->use_empty())
+ if (!memref.use_empty())
continue;
// Use list expected to match the dep graph info.
- auto *op = memref->getDefiningOp();
+ auto *op = memref.getDefiningOp();
if (isa_and_nonnull<AllocOp>(op))
op->erase();
}