summaryrefslogtreecommitdiff
path: root/mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp')
-rw-r--r--mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp b/mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
index d02efaaa3fe3..2dc77c9705d3 100644
--- a/mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
+++ b/mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
@@ -29,7 +29,8 @@ static void printAnalysisResults(DataFlowSolver &solver, Operation *op,
os << " ";
block.printAsOperand(os);
os << " = ";
- auto *live = solver.lookupState<Executable>(&block);
+ auto *live = solver.lookupState<Executable>(
+ solver.getProgramPointBefore(&block));
if (live)
os << *live;
else
@@ -49,12 +50,14 @@ static void printAnalysisResults(DataFlowSolver &solver, Operation *op,
}
}
if (!region.empty()) {
- auto *preds = solver.lookupState<PredecessorState>(&region.front());
+ auto *preds = solver.lookupState<PredecessorState>(
+ solver.getProgramPointBefore(&region.front()));
if (preds)
os << "region_preds: " << *preds << "\n";
}
}
- auto *preds = solver.lookupState<PredecessorState>(op);
+ auto *preds =
+ solver.lookupState<PredecessorState>(solver.getProgramPointAfter(op));
if (preds)
os << "op_preds: " << *preds << "\n";
});
@@ -68,15 +71,15 @@ struct ConstantAnalysis : public DataFlowAnalysis {
LogicalResult initialize(Operation *top) override {
WalkResult result = top->walk([&](Operation *op) {
- if (failed(visit(op)))
+ if (failed(visit(getProgramPointAfter(op))))
return WalkResult::interrupt();
return WalkResult::advance();
});
return success(!result.wasInterrupted());
}
- LogicalResult visit(ProgramPoint point) override {
- Operation *op = point.get<Operation *>();
+ LogicalResult visit(ProgramPoint *point) override {
+ Operation *op = point->getPrevOp();
Attribute value;
if (matchPattern(op, m_Constant(&value))) {
auto *constant = getOrCreate<Lattice<ConstantValue>>(op->getResult(0));