|
LLZK 0.1.0
Veridise's ZK Language IR
|
Go to the source code of this file.
Namespaces | |
| namespace | llzk |
| namespace | llzk::component |
| namespace | llzk::function |
Functions | |
| llvm::SmallVector< mlir::StringRef > | llzk::getNames (mlir::SymbolRefAttr ref) |
| llvm::SmallVector< mlir::FlatSymbolRefAttr > | llzk::getPieces (mlir::SymbolRefAttr ref) |
| mlir::FlatSymbolRefAttr | llzk::getFlatSymbolRefAttr (mlir::MLIRContext *context, const mlir::Twine &twine) |
| Construct a FlatSymbolRefAttr with the given content. | |
| mlir::SymbolRefAttr | llzk::asSymbolRefAttr (mlir::StringAttr root, mlir::SymbolRefAttr tail) |
| Build a SymbolRefAttr that prepends tail with root, i.e., root::tail. | |
| mlir::SymbolRefAttr | llzk::asSymbolRefAttr (llvm::ArrayRef< mlir::FlatSymbolRefAttr > path) |
| Build a SymbolRefAttr from the list of pieces. | |
| mlir::SymbolRefAttr | llzk::asSymbolRefAttr (std::vector< mlir::FlatSymbolRefAttr > path) |
| Build a SymbolRefAttr from the list of pieces. | |
| mlir::SymbolRefAttr | llzk::getTailAsSymbolRefAttr (mlir::SymbolRefAttr symbol) |
| Return SymbolRefAttr like the one given but with the root/head element removed. | |
| mlir::SymbolRefAttr | llzk::getPrefixAsSymbolRefAttr (mlir::SymbolRefAttr symbol) |
| Return SymbolRefAttr like the one given but with the leaf/final element removed. | |
| mlir::SymbolRefAttr | llzk::replaceLeaf (mlir::SymbolRefAttr orig, mlir::FlatSymbolRefAttr newLeaf) |
| Return SymbolRefAttr like the one given but with the leaf (final) element replaced. | |
| mlir::SymbolRefAttr | llzk::replaceLeaf (mlir::SymbolRefAttr orig, mlir::StringAttr newLeaf) |
| mlir::SymbolRefAttr | llzk::replaceLeaf (mlir::SymbolRefAttr orig, const mlir::Twine &newLeaf) |
| mlir::SymbolRefAttr | llzk::appendLeaf (mlir::SymbolRefAttr orig, mlir::FlatSymbolRefAttr newLeaf) |
| Return SymbolRefAttr like the one given but with a new leaf (final) element added. | |
| mlir::SymbolRefAttr | llzk::appendLeaf (mlir::SymbolRefAttr orig, mlir::StringAttr newLeaf) |
| mlir::SymbolRefAttr | llzk::appendLeaf (mlir::SymbolRefAttr orig, const mlir::Twine &newLeaf) |
| mlir::SymbolRefAttr | llzk::appendLeafName (mlir::SymbolRefAttr orig, const mlir::Twine &newLeafSuffix) |
| Return SymbolRefAttr like the one given but with the leaf (final) element appended with the given suffix. | |
| mlir::FailureOr< mlir::ModuleOp > | llzk::getRootModule (mlir::Operation *from) |
| Starting at the Operation from, find the nearest ancestor ModuleOp marked with LANG_ATTR_NAME from which symbol lookups are rooted. | |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromRoot (mlir::SymbolOpInterface to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromRoot (component::StructDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromRoot (component::FieldDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromRoot (function::FuncDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::ModuleOp > | llzk::getTopRootModule (mlir::Operation *from) |
| With include statements, there may be root modules nested within other root modules. | |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromTopRoot (mlir::SymbolOpInterface to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromTopRoot (component::StructDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromTopRoot (component::FieldDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| mlir::FailureOr< mlir::SymbolRefAttr > | llzk::getPathFromTopRoot (function::FuncDefOp &to, mlir::ModuleOp *foundRoot=nullptr) |
| template<typename T> | |
| mlir::FailureOr< SymbolLookupResult< T > > | llzk::resolveCallable (mlir::SymbolTableCollection &symbolTable, mlir::CallOpInterface call) |
| Based on mlir::CallOpInterface::resolveCallable, but using LLZK lookup helpers. | |
| template<typename T> | |
| mlir::FailureOr< SymbolLookupResult< T > > | llzk::resolveCallable (mlir::CallOpInterface call) |
| mlir::LogicalResult | llzk::verifyParamOfType (mlir::SymbolTableCollection &tables, mlir::SymbolRefAttr param, mlir::Type structOrArrayType, mlir::Operation *origin) |
| Ensure that the given symbol (that is used as a parameter of the given type) can be resolved. | |
| mlir::LogicalResult | llzk::verifyParamsOfType (mlir::SymbolTableCollection &tables, mlir::ArrayRef< mlir::Attribute > tyParams, mlir::Type structOrArrayType, mlir::Operation *origin) |
| Ensure that any symbols that appear within the given attributes (that are parameters of the given type) can be resolved. | |
| mlir::FailureOr< component::StructDefOp > | llzk::verifyStructTypeResolution (mlir::SymbolTableCollection &tables, component::StructType ty, mlir::Operation *origin) |
| Ensure that all symbols used within the type can be resolved. | |
| mlir::LogicalResult | llzk::verifyTypeResolution (mlir::SymbolTableCollection &tables, mlir::Operation *origin, mlir::Type type) |
| Ensure that all symbols used within the given Type instance can be resolved. | |
| template<std::ranges::input_range Range> | |
| mlir::LogicalResult | llzk::verifyTypeResolution (mlir::SymbolTableCollection &tables, mlir::Operation *origin, const Range &types) |
| Ensure that all symbols used within all Type instances can be resolved. | |