|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Sparse SSA-value lattice for SourceRef propagation. More...
#include <SourceRefLattice.h>
Public Types | |
| using | LatticeValue = SourceRefLatticeValue |
| using | ValueTy = llvm::PointerUnion<mlir::Value, mlir::Operation *> |
| using | Ref2Val = mlir::DenseMap<SourceRef, mlir::DenseSet<ValueTy>> |
Public Member Functions | |
| mlir::ChangeResult | join (const AbstractSparseLattice &rhs) override |
| mlir::ChangeResult | meet (const AbstractSparseLattice &rhs) override |
| void | print (mlir::raw_ostream &os) const override |
| const LatticeValue & | getValue () const |
| mlir::ChangeResult | setValue (const LatticeValue &newValue) |
| mlir::ChangeResult | setValue (const SourceRef &ref) |
Static Public Member Functions | |
| static mlir::FailureOr< SourceRef > | getSourceRef (mlir::Value val) |
| If val is the source of other values (i.e., a block argument, an allocation-like op result, or a constant), create the base reference to the val. | |
| static SourceRefLatticeValue | getDefaultValue (ValueTy v) |
Sparse SSA-value lattice for SourceRef propagation.
Definition at line 127 of file SourceRefLattice.h.
Definition at line 129 of file SourceRefLattice.h.
| using llzk::SourceRefLattice::Ref2Val = mlir::DenseMap<SourceRef, mlir::DenseSet<ValueTy>> |
Definition at line 133 of file SourceRefLattice.h.
| using llzk::SourceRefLattice::ValueTy = llvm::PointerUnion<mlir::Value, mlir::Operation *> |
Definition at line 132 of file SourceRefLattice.h.
|
static |
Definition at line 367 of file SourceRefLattice.cpp.
|
static |
If val is the source of other values (i.e., a block argument, an allocation-like op result, or a constant), create the base reference to the val.
Otherwise, return failure. Our lattice values must originate from somewhere.
Definition at line 338 of file SourceRefLattice.cpp.
|
inline |
Definition at line 150 of file SourceRefLattice.h.
|
override |
Definition at line 377 of file SourceRefLattice.cpp.
|
override |
Definition at line 392 of file SourceRefLattice.cpp.
|
override |
Definition at line 397 of file SourceRefLattice.cpp.
| ChangeResult llzk::SourceRefLattice::setValue | ( | const LatticeValue & | newValue | ) |
Definition at line 401 of file SourceRefLattice.cpp.
| ChangeResult llzk::SourceRefLattice::setValue | ( | const SourceRef & | ref | ) |
Definition at line 405 of file SourceRefLattice.cpp.