LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
SparseAnalysis.h File Reference

This file implements sparse data-flow analysis using the data-flow analysis framework. More...

#include <mlir/Analysis/DataFlow/SparseAnalysis.h>
#include <mlir/Analysis/DataFlowFramework.h>
#include <mlir/IR/SymbolTable.h>
#include <mlir/Interfaces/CallInterfaces.h>
#include <mlir/Interfaces/ControlFlowInterfaces.h>
#include <llvm/ADT/SmallPtrSet.h>
Include dependency graph for SparseAnalysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llzk::dataflow::AbstractSparseForwardDataFlowAnalysis
 LLZK: This class has been ported from the MLIR DenseAnalysis utilities to allow for the use of custom LLZK symbol lookup logic. More...
class  llzk::dataflow::SparseForwardDataFlowAnalysis< StateT >
 A sparse forward data-flow analysis for propagating SSA value lattices across the IR by implementing transfer functions for operations. More...

Namespaces

namespace  llzk
namespace  llzk::dataflow

Typedefs

using llzk::dataflow::AbstractSparseLattice = mlir::dataflow::AbstractSparseLattice

Detailed Description

This file implements sparse data-flow analysis using the data-flow analysis framework.

The analysis is forward and conditional and uses the results of dead code analysis to prune dead code during the analysis.

This file has been ported from the MLIR analysis so that it may be tailored to work for LLZK modules, as LLZK modules have different symbol lookup mechanisms that are currently incompatible with the builtin MLIR dataflow analyses. This file is mostly left as original in MLIR, with notes added where changes have been made.

Definition in file SparseAnalysis.h.