[mlir] Add Dead Code Analysis
authorMogball <jeffniu22@gmail.com>
Thu, 23 Jun 2022 19:02:45 +0000 (19:02 +0000)
committerMogball <jeffniu22@gmail.com>
Thu, 30 Jun 2022 20:51:25 +0000 (13:51 -0700)
commitc095afcba69a0780cee1cc6e77d5a258892a3e05
tree6f8c8c60edba6754568eccb437141fc02a839f73
parent0586d1cac2856e2848e289947910ad2dafe26d85
[mlir] Add Dead Code Analysis

This patch implements the analysis state classes needed for sparse data-flow analysis and implements a dead-code analysis using those states to determine liveness of blocks, control-flow edges, region predecessors, and function callsites.

Depends on D126751

Reviewed By: rriddle, phisiart

Differential Revision: https://reviews.llvm.org/D127064
13 files changed:
mlir/include/mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h [new file with mode: 0644]
mlir/include/mlir/Analysis/DataFlow/DeadCodeAnalysis.h [new file with mode: 0644]
mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h [new file with mode: 0644]
mlir/include/mlir/Analysis/DataFlowAnalysis.h
mlir/include/mlir/Analysis/DataFlowFramework.h
mlir/lib/Analysis/CMakeLists.txt
mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp [new file with mode: 0644]
mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp [new file with mode: 0644]
mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp [new file with mode: 0644]
mlir/test/Analysis/DataFlow/test-dead-code-analysis.mlir [new file with mode: 0644]
mlir/test/lib/Analysis/CMakeLists.txt
mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp [new file with mode: 0644]
mlir/tools/mlir-opt/mlir-opt.cpp