12#include <mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h>
13#include <mlir/Analysis/DataFlow/DeadCodeAnalysis.h>
14#include <mlir/IR/Operation.h>
23 solver.load<mlir::dataflow::SparseConstantPropagation>();
24 solver.load<mlir::dataflow::DeadCodeAnalysis>();
29 return solver.initializeAndRun(op);
33 if (!op->getBlock()) {
36 if (
const auto *exec =
37 solver.lookupState<
Executable>(solver.getProgramPointBefore(op->getBlock()))) {
38 return exec->isLive();
mlir::dataflow::Executable Executable
void loadRequiredAnalyses(DataFlowSolver &solver)
LogicalResult loadAndRunRequiredAnalyses(DataFlowSolver &solver, Operation *op)
bool isOperationLive(DataFlowSolver &solver, Operation *op)