[all-commits] [llvm/llvm-project] 5bedd6: [mlir] Allow overriding AbstractDenseDataFlowAnaly...

Tom Eccles via All-commits all-commits at lists.llvm.org
Wed Jan 4 02:24:06 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5bedd675d741b177606dae9f13cc7c1531b6b954
      https://github.com/llvm/llvm-project/commit/5bedd675d741b177606dae9f13cc7c1531b6b954
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp

  Log Message:
  -----------
  [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




More information about the All-commits mailing list