LLZK 0.1.0
Veridise's ZK Language IR
|
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>
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. | |
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.