|
LLZK 0.1.0
An open-source IR for Zero Knowledge (ZK) circuits
|
This file implements the -llzk-fuse-product-loops pass. More...
#include "llzk/Dialect/Function/IR/Ops.h"#include "llzk/Dialect/Polymorphic/IR/Ops.h"#include "llzk/Dialect/Struct/IR/Ops.h"#include "llzk/Transforms/LLZKFuseProductLoopsPass.h"#include "llzk/Transforms/LLZKTransformationPasses.h"#include "llzk/Util/AlignmentHelper.h"#include "llzk/Util/Constants.h"#include <mlir/Dialect/SCF/Utils/Utils.h>#include <llvm/Support/Debug.h>#include <llvm/Support/SMTAPI.h>#include <memory>#include "llzk/Transforms/LLZKTransformationPasses.h.inc"Go to the source code of this file.
Classes | |
| class | llzk::impl::FuseProductLoopsPassBase< DerivedT > |
| class | llzk::FuseProductLoopsPass |
Namespaces | |
| namespace | llzk |
| namespace | llzk::impl |
Macros | |
| #define | GEN_PASS_DECL_FUSEPRODUCTLOOPSPASS |
| #define | GEN_PASS_DEF_FUSEPRODUCTLOOPSPASS |
Functions | |
| llvm::SMTExprRef | llzk::mkExpr (mlir::Value value, llvm::SMTSolver *solver) |
| llvm::SMTExprRef | llzk::tripCount (mlir::scf::ForOp op, llvm::SMTSolver *solver) |
| mlir::LogicalResult | llzk::fuseMatchingLoopPairs (mlir::Region &body, mlir::MLIRContext *context) |
| Identify pairs of scf.for loops that can be fused, fuse them, and then recurse to fuse nested loops. | |
| std::unique_ptr< mlir::Pass > | llzk::createFuseProductLoopsPass () |
Variables | |
| constexpr int | llzk::INDEX_WIDTH = 64 |
This file implements the -llzk-fuse-product-loops pass.
Definition in file LLZKFuseProductLoopsPass.cpp.
| #define GEN_PASS_DECL_FUSEPRODUCTLOOPSPASS |
Definition at line 32 of file LLZKFuseProductLoopsPass.cpp.
| #define GEN_PASS_DEF_FUSEPRODUCTLOOPSPASS |
Definition at line 33 of file LLZKFuseProductLoopsPass.cpp.