LLZK 0.1.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
LLZKLoweringUtils.h File Reference
#include "llzk/Dialect/Constrain/IR/Ops.h"
#include "llzk/Dialect/Felt/IR/Ops.h"
#include "llzk/Dialect/Function/IR/Ops.h"
#include <mlir/IR/Builders.h>
#include <mlir/IR/BuiltinOps.h>
#include <mlir/IR/Value.h>
#include <mlir/Support/LogicalResult.h>
#include <llvm/ADT/DenseMap.h>
Include dependency graph for LLZKLoweringUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llzk::AuxAssignment

Namespaces

namespace  llzk

Functions

mlir::Value llzk::rebuildExprInCompute (mlir::Value val, function::FuncDefOp computeFunc, mlir::OpBuilder &builder, llvm::DenseMap< mlir::Value, mlir::Value > &memo)
mlir::LogicalResult llzk::checkForAuxMemberConflicts (component::StructDefOp structDef, llvm::StringRef auxPrefix)
component::MemberDefOp llzk::addAuxMember (component::StructDefOp structDef, llvm::StringRef name)
unsigned llzk::getFeltDegree (mlir::Value val, llvm::DenseMap< mlir::Value, unsigned > &memo)
void llzk::replaceSubsequentUsesWith (mlir::Value oldVal, mlir::Value newVal, mlir::Operation *afterOp)
 Replaces all subsequent uses of oldVal with newVal, starting after afterOp.