[all-commits] [llvm/llvm-project] d80c27: [mlir] An implementation of dense data-flow analysis

Jeff Niu via All-commits all-commits at lists.llvm.org
Thu Jul 7 15:13:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d80c271c8ac0703b5fe9ba40e55121d6dd25b389
      https://github.com/llvm/llvm-project/commit/d80c271c8ac0703b5fe9ba40e55121d6dd25b389
  Author: Mogball <jeffniu22 at gmail.com>
  Date:   2022-07-07 (Thu, 07 Jul 2022)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h
    A mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/lib/Analysis/CMakeLists.txt
    A mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    A mlir/test/Analysis/DataFlow/test-last-modified-callgraph.mlir
    A mlir/test/Analysis/DataFlow/test-last-modified.mlir
    M mlir/test/lib/Analysis/CMakeLists.txt
    A mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] An implementation of dense data-flow analysis

This patch introduces an implementation of dense data-flow analysis. Dense
data-flow analysis attaches a lattice before and after the execution of every
operation. The lattice state is propagated across operations by a user-defined
transfer function. The state is joined across control-flow and callgraph edges.

Thge patch provides an example pass that uses both a dense and a sparse analysis
together.

Depends on D127139

Reviewed By: rriddle, phisiart

Differential Revision: https://reviews.llvm.org/D127173




More information about the All-commits mailing list