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

This file implements (LLZK-tailored) dense data-flow analysis using the data-flow analysis framework. More...

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

Go to the source code of this file.

Classes

class  llzk::dataflow::AbstractDenseForwardDataFlowAnalysis
 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::DenseForwardDataFlowAnalysis< LatticeT >
 LLZK: This class has been ported so that it can inherit from our port of the AbstractDenseForwardDataFlowAnalysis above. More...
 

Namespaces

namespace  llzk
 
namespace  llzk::dataflow
 

Typedefs

using llzk::dataflow::AbstractDenseLattice = mlir::dataflow::AbstractDenseLattice
 
using llzk::dataflow::CallControlFlowAction = mlir::dataflow::CallControlFlowAction
 

Functions

void llzk::dataflow::markAllOpsAsLive (mlir::DataFlowSolver &solver, mlir::Operation *top)
 LLZK: Added this utility to ensure analysis is performed for all structs in a given module.
 

Detailed Description

This file implements (LLZK-tailored) dense 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 dense 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 DenseAnalysis.h.