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

Public Types

using Base = PolyLoweringPassBase

Public Member Functions

 PolyLoweringPassBase ()
 PolyLoweringPassBase (const PolyLoweringPassBase &other)
PolyLoweringPassBaseoperator= (const PolyLoweringPassBase &)=delete
 PolyLoweringPassBase (PolyLoweringPassBase &&)=delete
PolyLoweringPassBaseoperator= (PolyLoweringPassBase &&)=delete
 ~PolyLoweringPassBase ()=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.
 PolyLoweringPassBase (PolyLoweringPassOptions options)
 Explicitly declare the TypeID for this class.

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 > maxDegree {*this, "max-degree", ::llvm::cl::desc("Maximum degree of constraint polynomials (default 2, minimum 2)"), ::llvm::cl::init(2)}

Friends

std::unique_ptr<::mlir::Pass > createPolyLoweringPass ()
std::unique_ptr<::mlir::Pass > createPolyLoweringPass (PolyLoweringPassOptions options)

Detailed Description

template<typename DerivedT>
class llzk::impl::PolyLoweringPassBase< DerivedT >

Definition at line 410 of file LLZKPolyLoweringPass.cpp.

Member Typedef Documentation

◆ Base

template<typename DerivedT>
using llzk::impl::PolyLoweringPassBase< DerivedT >::Base = PolyLoweringPassBase

Definition at line 412 of file LLZKPolyLoweringPass.cpp.

Constructor & Destructor Documentation

◆ PolyLoweringPassBase() [1/4]

template<typename DerivedT>
llzk::impl::PolyLoweringPassBase< DerivedT >::PolyLoweringPassBase ( )
inline

Definition at line 414 of file LLZKPolyLoweringPass.cpp.

◆ PolyLoweringPassBase() [2/4]

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

Definition at line 415 of file LLZKPolyLoweringPass.cpp.

◆ PolyLoweringPassBase() [3/4]

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

◆ ~PolyLoweringPassBase()

template<typename DerivedT>
llzk::impl::PolyLoweringPassBase< DerivedT >::~PolyLoweringPassBase ( )
default

◆ PolyLoweringPassBase() [4/4]

template<typename DerivedT>
llzk::impl::PolyLoweringPassBase< DerivedT >::PolyLoweringPassBase ( PolyLoweringPassOptions 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 467 of file LLZKPolyLoweringPass.cpp.

Member Function Documentation

◆ classof()

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

Support isa/dyn_cast functionality for the derived pass class.

Definition at line 436 of file LLZKPolyLoweringPass.cpp.

◆ clonePass()

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

A clone method to create a copy of this pass.

Definition at line 441 of file LLZKPolyLoweringPass.cpp.

◆ getArgument()

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

Definition at line 425 of file LLZKPolyLoweringPass.cpp.

◆ getArgumentName()

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

Returns the command-line argument attached to this pass.

Definition at line 422 of file LLZKPolyLoweringPass.cpp.

◆ getDependentDialects()

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

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

Definition at line 446 of file LLZKPolyLoweringPass.cpp.

◆ getDescription()

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

Definition at line 427 of file LLZKPolyLoweringPass.cpp.

◆ getName()

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

Definition at line 433 of file LLZKPolyLoweringPass.cpp.

◆ getPassName()

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

Returns the derived pass name.

Definition at line 430 of file LLZKPolyLoweringPass.cpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ createPolyLoweringPass [1/2]

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

Definition at line 474 of file LLZKPolyLoweringPass.cpp.

◆ createPolyLoweringPass [2/2]

template<typename DerivedT>
std::unique_ptr<::mlir::Pass > createPolyLoweringPass ( PolyLoweringPassOptions options)
friend

Definition at line 478 of file LLZKPolyLoweringPass.cpp.

Member Data Documentation

◆ maxDegree

template<typename DerivedT>
::mlir::Pass::Option<unsigned> llzk::impl::PolyLoweringPassBase< DerivedT >::maxDegree {*this, "max-degree", ::llvm::cl::desc("Maximum degree of constraint polynomials (default 2, minimum 2)"), ::llvm::cl::init(2)}
protected

Definition at line 471 of file LLZKPolyLoweringPass.cpp.


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