LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::polymorphic Namespace Reference

Namespaces

namespace  detail
namespace  impl

Classes

class  ApplyMapOp
class  ApplyMapOpAdaptor
class  ApplyMapOpGenericAdaptor
class  ConstReadOp
class  ConstReadOpAdaptor
class  ConstReadOpGenericAdaptor
struct  FlatteningPassOptions
class  PolymorphicDialect
class  TemplateExprOp
class  TemplateExprOpAdaptor
class  TemplateExprOpGenericAdaptor
class  TemplateOp
class  TemplateOpAdaptor
class  TemplateOpGenericAdaptor
class  TemplateParamOp
class  TemplateParamOpAdaptor
class  TemplateParamOpGenericAdaptor
class  TemplateSymbolBindingOpInterface
class  TypeVarType
class  UnifiableCastOp
class  UnifiableCastOpAdaptor
class  UnifiableCastOpGenericAdaptor
class  YieldOp
class  YieldOpAdaptor
class  YieldOpGenericAdaptor

Concepts

concept  TemplateSymbolBindingOp

Enumerations

enum class  FlatteningCleanupMode : uint32_t { Disabled = 0 , Preimage = 1 , ConcreteAsRoot = 2 , MainAsRoot = 3 }

Functions

bool isInTemplate (Operation *op)
FailureOr< TemplateOpverifyInTemplate (Operation *op)
std::unique_ptr<::mlir::Pass > createEmptyTemplateRemovalPass ()
std::unique_ptr<::mlir::Pass > createFlatteningPass ()
std::unique_ptr<::mlir::Pass > createFlatteningPass (FlatteningPassOptions options)
::llvm::StringRef stringifyFlatteningCleanupMode (FlatteningCleanupMode val)
::std::optional< FlatteningCleanupModesymbolizeFlatteningCleanupMode (::llvm::StringRef str)
::std::optional< FlatteningCleanupModesymbolizeFlatteningCleanupMode (uint32_t value)
constexpr unsigned getMaxEnumValForFlatteningCleanupMode ()
inline ::llvm::StringRef stringifyEnum (FlatteningCleanupMode enumValue)
template<typename EnumType>
::std::optional< EnumType > symbolizeEnum (::llvm::StringRef)
template<>
inline ::std::optional< FlatteningCleanupModesymbolizeEnum< FlatteningCleanupMode > (::llvm::StringRef str)
bool isInTemplate (mlir::Operation *op)
 Return true iff the given Operation is nested somewhere within a TemplateOp.
mlir::FailureOr< TemplateOpverifyInTemplate (mlir::Operation *op)
 If the given Operation is nested somewhere within a TemplateOp, return a success result containing that TemplateOp.
void registerEmptyTemplateRemovalPass ()
void registerEmptyTemplateRemovalPassPass ()
void registerFlatteningPass ()
void registerFlatteningPassPass ()
void registerTransformationPasses ()

Enumeration Type Documentation

◆ FlatteningCleanupMode

enum class llzk::polymorphic::FlatteningCleanupMode : uint32_t
strong
Enumerator
Disabled 
Preimage 
ConcreteAsRoot 
MainAsRoot 

Definition at line 13 of file TransformationPassEnums.h.inc.

Function Documentation

◆ createEmptyTemplateRemovalPass()

std::unique_ptr<::mlir::Pass > llzk::polymorphic::createEmptyTemplateRemovalPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 92 of file EmptyTemplateRemovalPass.cpp.

◆ createFlatteningPass() [1/2]

std::unique_ptr<::mlir::Pass > llzk::polymorphic::createFlatteningPass ( )

Definition at line 210 of file FlatteningPass.cpp.

◆ createFlatteningPass() [2/2]

std::unique_ptr<::mlir::Pass > llzk::polymorphic::createFlatteningPass ( FlatteningPassOptions options)

Definition at line 214 of file FlatteningPass.cpp.

◆ getMaxEnumValForFlatteningCleanupMode()

unsigned llzk::polymorphic::getMaxEnumValForFlatteningCleanupMode ( )
inlineconstexpr

Definition at line 23 of file TransformationPassEnums.h.inc.

◆ isInTemplate() [1/2]

bool llzk::polymorphic::isInTemplate ( mlir::Operation * op)

Return true iff the given Operation is nested somewhere within a TemplateOp.

◆ isInTemplate() [2/2]

bool llzk::polymorphic::isInTemplate ( Operation * op)

Definition at line 34 of file Ops.cpp.

◆ registerEmptyTemplateRemovalPass()

void llzk::polymorphic::registerEmptyTemplateRemovalPass ( )
inline

Definition at line 225 of file TransformationPasses.h.

◆ registerEmptyTemplateRemovalPassPass()

void llzk::polymorphic::registerEmptyTemplateRemovalPassPass ( )
inline

Definition at line 232 of file TransformationPasses.h.

◆ registerFlatteningPass()

void llzk::polymorphic::registerFlatteningPass ( )
inline

Definition at line 242 of file TransformationPasses.h.

◆ registerFlatteningPassPass()

void llzk::polymorphic::registerFlatteningPassPass ( )
inline

Definition at line 249 of file TransformationPasses.h.

◆ registerTransformationPasses()

void llzk::polymorphic::registerTransformationPasses ( )
inline

Definition at line 259 of file TransformationPasses.h.

◆ stringifyEnum()

inline ::llvm::StringRef llzk::polymorphic::stringifyEnum ( FlatteningCleanupMode enumValue)

Definition at line 28 of file TransformationPassEnums.h.inc.

◆ stringifyFlatteningCleanupMode()

llvm::StringRef llzk::polymorphic::stringifyFlatteningCleanupMode ( FlatteningCleanupMode val)

Definition at line 12 of file TransformationPassEnums.cpp.inc.

◆ symbolizeEnum()

template<typename EnumType>
::std::optional< EnumType > llzk::polymorphic::symbolizeEnum ( ::llvm::StringRef )

◆ symbolizeEnum< FlatteningCleanupMode >()

template<>
inline ::std::optional< FlatteningCleanupMode > llzk::polymorphic::symbolizeEnum< FlatteningCleanupMode > ( ::llvm::StringRef str)

Definition at line 33 of file TransformationPassEnums.h.inc.

◆ symbolizeFlatteningCleanupMode() [1/2]

std::optional< FlatteningCleanupMode > llzk::polymorphic::symbolizeFlatteningCleanupMode ( ::llvm::StringRef str)

Definition at line 22 of file TransformationPassEnums.cpp.inc.

◆ symbolizeFlatteningCleanupMode() [2/2]

std::optional< FlatteningCleanupMode > llzk::polymorphic::symbolizeFlatteningCleanupMode ( uint32_t value)

Definition at line 30 of file TransformationPassEnums.cpp.inc.

◆ verifyInTemplate() [1/2]

mlir::FailureOr< TemplateOp > llzk::polymorphic::verifyInTemplate ( mlir::Operation * op)

If the given Operation is nested somewhere within a TemplateOp, return a success result containing that TemplateOp.

Otherwise emit an error and return a failure result.

◆ verifyInTemplate() [2/2]

FailureOr< TemplateOp > llzk::polymorphic::verifyInTemplate ( Operation * op)

Definition at line 36 of file Ops.cpp.