|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Defines an index into an LLZK object. More...
#include <SourceRef.h>
Classes | |
| struct | Hash |
Public Member Functions | |
| SourceRefIndex (component::MemberDefOp f) | |
| SourceRefIndex (SymbolLookupResult< component::MemberDefOp > f) | |
| SourceRefIndex (mlir::StringAttr recordName) | |
| SourceRefIndex (const llvm::DynamicAPInt &i) | |
| SourceRefIndex (int64_t i) | |
| SourceRefIndex (const llvm::DynamicAPInt &low, const llvm::DynamicAPInt &high) | |
| Construct a half-open range; a high bound of ShapedType::kDynamic means unbounded. | |
| SourceRefIndex (IndexRange r) | |
| bool | hasUnboundedUpperBound () const |
| Whether this range has no finite upper bound. | |
| bool | isMember () const |
| component::MemberDefOp | getMember () const |
| bool | isPodRecord () const |
| mlir::StringAttr | getPodRecordNameAttr () const |
| llvm::StringRef | getPodRecordName () const |
| bool | isIndex () const |
| llvm::DynamicAPInt | getIndex () const |
| bool | isIndexRange () const |
| IndexRange | getIndexRange () const |
| void | dump () const |
| void | print (mlir::raw_ostream &os) const |
| bool | operator== (const SourceRefIndex &rhs) const |
| bool | overlaps (const SourceRefIndex &rhs) const |
| Return true when these path components select any common storage. | |
| std::strong_ordering | operator<=> (const SourceRefIndex &rhs) const |
| size_t | getHash () const |
Static Public Member Functions | |
| static SourceRefIndex | forArrayDimension (int64_t size) |
| Select every nonnegative index in a static or dynamic array dimension. | |
Defines an index into an LLZK object.
For structs, this is a member definition, and for arrays, this is an element index. Effectively a wrapper around a std::variant with extra utility methods.
Definition at line 43 of file SourceRef.h.
|
inlineexplicit |
Definition at line 47 of file SourceRef.h.
|
inlineexplicit |
Definition at line 48 of file SourceRef.h.
|
inlineexplicit |
Definition at line 49 of file SourceRef.h.
|
inlineexplicit |
Definition at line 50 of file SourceRef.h.
|
inlineexplicit |
Definition at line 51 of file SourceRef.h.
|
inline |
Construct a half-open range; a high bound of ShapedType::kDynamic means unbounded.
Definition at line 53 of file SourceRef.h.
|
inlineexplicit |
Definition at line 55 of file SourceRef.h.
|
inline |
Definition at line 94 of file SourceRef.h.
|
static |
Select every nonnegative index in a static or dynamic array dimension.
Definition at line 100 of file SourceRef.cpp.
|
inline |
Definition at line 119 of file SourceRef.h.
|
inline |
Definition at line 83 of file SourceRef.h.
|
inline |
Definition at line 89 of file SourceRef.h.
|
inline |
Definition at line 67 of file SourceRef.h.
|
inline |
Definition at line 80 of file SourceRef.h.
|
inline |
Definition at line 76 of file SourceRef.h.
| bool llzk::SourceRefIndex::hasUnboundedUpperBound | ( | ) | const |
Whether this range has no finite upper bound.
Definition at line 105 of file SourceRef.cpp.
|
inline |
Definition at line 82 of file SourceRef.h.
|
inline |
Definition at line 88 of file SourceRef.h.
|
inline |
Definition at line 63 of file SourceRef.h.
|
inline |
Definition at line 75 of file SourceRef.h.
| std::strong_ordering llzk::SourceRefIndex::operator<=> | ( | const SourceRefIndex & | rhs | ) | const |
Definition at line 126 of file SourceRef.cpp.
|
inline |
Definition at line 97 of file SourceRef.h.
| bool llzk::SourceRefIndex::overlaps | ( | const SourceRefIndex & | rhs | ) | const |
Return true when these path components select any common storage.
Index ranges are half-open.
Definition at line 182 of file SourceRef.cpp.
| void llzk::SourceRefIndex::print | ( | mlir::raw_ostream & | os | ) | const |
Definition at line 109 of file SourceRef.cpp.