LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT > Class Template Reference
Inheritance diagram for llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >:
[legend]
Collaboration diagram for llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >:
[legend]

Public Types

using Base = TemplateMonomorphizationPassBase

Public Member Functions

 TemplateMonomorphizationPassBase ()
 TemplateMonomorphizationPassBase (const TemplateMonomorphizationPassBase &other)
TemplateMonomorphizationPassBase & operator= (const TemplateMonomorphizationPassBase &)=delete
 TemplateMonomorphizationPassBase (TemplateMonomorphizationPassBase &&)=delete
TemplateMonomorphizationPassBase & operator= (TemplateMonomorphizationPassBase &&)=delete
 ~TemplateMonomorphizationPassBase ()=default
::llvm::StringRef getArgument () const override
::llvm::StringRef getDescription () const override
::llvm::StringRef getName () const override
std::unique_ptr<::mlir::Pass > clonePass () const override
 A clone method to create a copy of this pass.
void getDependentDialects (::mlir::DialectRegistry &registry) const override
 Return the dialect that must be loaded in the context before this pass.
 TemplateMonomorphizationPassBase (TemplateMonomorphizationPassOptions options)
 Explicitly declare the TypeID for this class. We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Static Public Member Functions

static constexpr ::llvm::StringLiteral getArgumentName ()
 Returns the command-line argument attached to this pass.
static constexpr ::llvm::StringLiteral getPassName ()
 Returns the derived pass name.
static bool classof (const ::mlir::Pass *pass)
 Support isa/dyn_cast functionality for the derived pass class.

Protected Attributes

::mlir::Pass::Option< unsigned > specializationLimit {*this, "max-specializations", ::llvm::cl::desc(R"PO(Maximum number of concrete struct and free-function definitions)PO"), ::llvm::cl::init(1000)}

Friends

std::unique_ptr<::mlir::Pass > createTemplateMonomorphizationPass ()
std::unique_ptr<::mlir::Pass > createTemplateMonomorphizationPass (TemplateMonomorphizationPassOptions options)

Detailed Description

template<typename DerivedT>
class llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >

Definition at line 338 of file TemplateMonomorphization.cpp.

Member Typedef Documentation

◆ Base

Definition at line 340 of file TemplateMonomorphization.cpp.

Constructor & Destructor Documentation

◆ TemplateMonomorphizationPassBase() [1/4]

template<typename DerivedT>
llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::TemplateMonomorphizationPassBase ( )
inline

Definition at line 342 of file TemplateMonomorphization.cpp.

◆ TemplateMonomorphizationPassBase() [2/4]

template<typename DerivedT>
llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::TemplateMonomorphizationPassBase ( const TemplateMonomorphizationPassBase< DerivedT > & other)
inline

Definition at line 343 of file TemplateMonomorphization.cpp.

◆ TemplateMonomorphizationPassBase() [3/4]

template<typename DerivedT>
llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::TemplateMonomorphizationPassBase ( TemplateMonomorphizationPassBase< DerivedT > && )
delete

◆ ~TemplateMonomorphizationPassBase()

◆ TemplateMonomorphizationPassBase() [4/4]

template<typename DerivedT>
llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::TemplateMonomorphizationPassBase ( TemplateMonomorphizationPassOptions options)
inline

Explicitly declare the TypeID for this class. We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 395 of file TemplateMonomorphization.cpp.

Member Function Documentation

◆ classof()

template<typename DerivedT>
bool llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::classof ( const ::mlir::Pass * pass)
inlinestatic

Support isa/dyn_cast functionality for the derived pass class.

Definition at line 364 of file TemplateMonomorphization.cpp.

◆ clonePass()

template<typename DerivedT>
std::unique_ptr<::mlir::Pass > llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::clonePass ( ) const
inlineoverride

A clone method to create a copy of this pass.

Definition at line 369 of file TemplateMonomorphization.cpp.

◆ getArgument()

template<typename DerivedT>
::llvm::StringRef llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getArgument ( ) const
inlineoverride

Definition at line 353 of file TemplateMonomorphization.cpp.

◆ getArgumentName()

template<typename DerivedT>
constexpr ::llvm::StringLiteral llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getArgumentName ( )
inlinestatic

Returns the command-line argument attached to this pass.

Definition at line 350 of file TemplateMonomorphization.cpp.

◆ getDependentDialects()

template<typename DerivedT>
void llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getDependentDialects ( ::mlir::DialectRegistry & registry) const
inlineoverride

Return the dialect that must be loaded in the context before this pass.

Definition at line 374 of file TemplateMonomorphization.cpp.

◆ getDescription()

template<typename DerivedT>
::llvm::StringRef llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getDescription ( ) const
inlineoverride

Definition at line 355 of file TemplateMonomorphization.cpp.

◆ getName()

template<typename DerivedT>
::llvm::StringRef llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getName ( ) const
inlineoverride

Definition at line 361 of file TemplateMonomorphization.cpp.

◆ getPassName()

template<typename DerivedT>
constexpr ::llvm::StringLiteral llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::getPassName ( )
inlinestatic

Returns the derived pass name.

Definition at line 358 of file TemplateMonomorphization.cpp.

◆ operator=() [1/2]

template<typename DerivedT>
TemplateMonomorphizationPassBase & llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::operator= ( const TemplateMonomorphizationPassBase< DerivedT > & )
delete

◆ operator=() [2/2]

template<typename DerivedT>
TemplateMonomorphizationPassBase & llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::operator= ( TemplateMonomorphizationPassBase< DerivedT > && )
delete

◆ createTemplateMonomorphizationPass [1/2]

template<typename DerivedT>
std::unique_ptr<::mlir::Pass > createTemplateMonomorphizationPass ( )
friend

Definition at line 402 of file TemplateMonomorphization.cpp.

◆ createTemplateMonomorphizationPass [2/2]

template<typename DerivedT>
std::unique_ptr<::mlir::Pass > createTemplateMonomorphizationPass ( TemplateMonomorphizationPassOptions options)
friend

Definition at line 406 of file TemplateMonomorphization.cpp.

Member Data Documentation

◆ specializationLimit

template<typename DerivedT>
::mlir::Pass::Option<unsigned> llzk::polymorphic::impl::TemplateMonomorphizationPassBase< DerivedT >::specializationLimit {*this, "max-specializations", ::llvm::cl::desc(R"PO(Maximum number of concrete struct and free-function definitions)PO"), ::llvm::cl::init(1000)}
protected

Definition at line 399 of file TemplateMonomorphization.cpp.


The documentation for this class was generated from the following file: