LLZK 3.0.0
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
struct  WildcardArraySpecializationPassOptions
class  YieldOp
class  YieldOpAdaptor
class  YieldOpGenericAdaptor

Concepts

concept  TemplateSymbolBindingOp

Enumerations

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

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)
std::unique_ptr<::mlir::Pass > createTypeVarInferencePass ()
std::unique_ptr<::mlir::Pass > createWildcardArraySpecializationPass ()
std::unique_ptr<::mlir::Pass > createWildcardArraySpecializationPass (WildcardArraySpecializationPassOptions 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 registerTypeVarInferencePass ()
void registerTypeVarInferencePassPass ()
void registerWildcardArraySpecializationPass ()
void registerWildcardArraySpecializationPassPass ()
void registerTransformationPasses ()

Enumeration Type Documentation

◆ FlatteningCleanupMode

enum class llzk::polymorphic::FlatteningCleanupMode : uint32_t
strong
Enumerator
Unspecified 
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 94 of file EmptyTemplateRemovalPass.cpp.

◆ createFlatteningPass() [1/2]

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

Definition at line 216 of file FlatteningPass.cpp.

◆ createFlatteningPass() [2/2]

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

Definition at line 220 of file FlatteningPass.cpp.

◆ createTypeVarInferencePass()

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

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

Definition at line 307 of file TypeVarInferencePass.cpp.

◆ createWildcardArraySpecializationPass() [1/2]

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

Definition at line 410 of file WildcardArraySpecializationPass.cpp.

◆ createWildcardArraySpecializationPass() [2/2]

std::unique_ptr<::mlir::Pass > llzk::polymorphic::createWildcardArraySpecializationPass ( WildcardArraySpecializationPassOptions options)

Definition at line 414 of file WildcardArraySpecializationPass.cpp.

◆ getMaxEnumValForFlatteningCleanupMode()

unsigned llzk::polymorphic::getMaxEnumValForFlatteningCleanupMode ( )
inlineconstexpr

Definition at line 24 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 425 of file TransformationPasses.h.

◆ registerEmptyTemplateRemovalPassPass()

void llzk::polymorphic::registerEmptyTemplateRemovalPassPass ( )
inline

Definition at line 432 of file TransformationPasses.h.

◆ registerFlatteningPass()

void llzk::polymorphic::registerFlatteningPass ( )
inline

Definition at line 442 of file TransformationPasses.h.

◆ registerFlatteningPassPass()

void llzk::polymorphic::registerFlatteningPassPass ( )
inline

Definition at line 449 of file TransformationPasses.h.

◆ registerTransformationPasses()

void llzk::polymorphic::registerTransformationPasses ( )
inline

Definition at line 493 of file TransformationPasses.h.

◆ registerTypeVarInferencePass()

void llzk::polymorphic::registerTypeVarInferencePass ( )
inline

Definition at line 459 of file TransformationPasses.h.

◆ registerTypeVarInferencePassPass()

void llzk::polymorphic::registerTypeVarInferencePassPass ( )
inline

Definition at line 466 of file TransformationPasses.h.

◆ registerWildcardArraySpecializationPass()

void llzk::polymorphic::registerWildcardArraySpecializationPass ( )
inline

Definition at line 476 of file TransformationPasses.h.

◆ registerWildcardArraySpecializationPassPass()

void llzk::polymorphic::registerWildcardArraySpecializationPassPass ( )
inline

Definition at line 483 of file TransformationPasses.h.

◆ stringifyEnum()

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

Definition at line 29 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 34 of file TransformationPassEnums.h.inc.

◆ symbolizeFlatteningCleanupMode() [1/2]

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

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

◆ symbolizeFlatteningCleanupMode() [2/2]

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

Definition at line 32 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.