LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
TransformationPasses.h File Reference
#include "llzk/Dialect/POD/IR/Ops.h"
#include "llzk/Pass/PassBase.h"
#include "llzk/Util/Walk.h"
#include <mlir/Dialect/SCF/IR/SCF.h>
#include <mlir/IR/Operation.h>
#include <mlir/IR/ValueRange.h>
#include <llvm/ADT/STLExtras.h>
#include <llvm/ADT/SmallVector.h>
#include "llzk/Dialect/POD/Transforms/TransformationPasses.h.inc"
Include dependency graph for TransformationPasses.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llzk
namespace  llzk::pod
namespace  llzk::pod::detail

Macros

#define GEN_PASS_DECL
#define GEN_PASS_REGISTRATION
#define GEN_PASS_DECL_PODTOSCALARPASS

Functions

mlir::Operation * llzk::pod::detail::findNearestLoopCarriedPodAccess (ReadPodOp readOp)
 Return the nearest enclosing SCF loop that carries writes to the same external POD record.
bool llzk::pod::detail::appendValuesWithExactTypes (mlir::ValueRange values, mlir::TypeRange expectedTypes, llvm::SmallVectorImpl< mlir::Value > &output)
 Append values only when every entry exactly matches the corresponding expected type.
std::unique_ptr<::mlir::Pass > llzk::pod::createPodToScalarPass ()
void llzk::pod::registerPodToScalarPass ()
void llzk::pod::registerPodToScalarPassPass ()
void llzk::pod::registerTransformationPasses ()

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 86 of file TransformationPasses.h.

◆ GEN_PASS_DECL_PODTOSCALARPASS

#define GEN_PASS_DECL_PODTOSCALARPASS

Definition at line 6 of file TransformationPasses.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Definition at line 87 of file TransformationPasses.h.