[mlir] Allow overriding AbstractDenseDataFlowAnalysis::visitOperation
AbstractDenseDataFlowAnalysis::visitOperation controls how the dataflow analysis proceeds around control flow. In particular, conservative assumptions are made about call operations which can prevent some analysis from succeeding. The motivating case for this change is https://reviews.llvm.org/D140415, for which it is correct and necessary for the lattice to be preserved after call operations. Some renaming was necessary to avoid confusion with DenseDataFlowAnalysis::visitOperation. AbstractDenseDataFlowAnalysis::visitRegionBranchOperation and DenseDataFlowAnalysis::visitOperationImpl are also made protected to allow implementation of AbstractDenseDataFlowAnalysis::visitOperation, although I did not need these to be virtual. Differential Revision: https://reviews.llvm.org/D140879
Loading
Please sign in to comment