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

Public Types

using Base = UnusedDeclarationEliminationPassBase

Public Member Functions

 UnusedDeclarationEliminationPassBase ()
 UnusedDeclarationEliminationPassBase (const UnusedDeclarationEliminationPassBase &other)
UnusedDeclarationEliminationPassBaseoperator= (const UnusedDeclarationEliminationPassBase &)=delete
 UnusedDeclarationEliminationPassBase (UnusedDeclarationEliminationPassBase &&)=delete
UnusedDeclarationEliminationPassBaseoperator= (UnusedDeclarationEliminationPassBase &&)=delete
 ~UnusedDeclarationEliminationPassBase ()=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.
 UnusedDeclarationEliminationPassBase (UnusedDeclarationEliminationPassOptions 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< bool > removeStructs {*this, "remove-structs", ::llvm::cl::desc("Whether to remove unused struct definitions as well. Requires module to declare a Main component, otherwise all components will appear unused."), ::llvm::cl::init(false)}

Friends

std::unique_ptr<::mlir::Pass > createUnusedDeclarationEliminationPass ()
std::unique_ptr<::mlir::Pass > createUnusedDeclarationEliminationPass (UnusedDeclarationEliminationPassOptions options)

Detailed Description

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

Definition at line 818 of file LLZKUnusedDeclarationEliminationPass.cpp.

Member Typedef Documentation

◆ Base

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

Definition at line 820 of file LLZKUnusedDeclarationEliminationPass.cpp.

Constructor & Destructor Documentation

◆ UnusedDeclarationEliminationPassBase() [1/4]

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

Definition at line 822 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ UnusedDeclarationEliminationPassBase() [2/4]

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

Definition at line 823 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ UnusedDeclarationEliminationPassBase() [3/4]

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

◆ ~UnusedDeclarationEliminationPassBase()

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

◆ UnusedDeclarationEliminationPassBase() [4/4]

template<typename DerivedT>
llzk::impl::UnusedDeclarationEliminationPassBase< DerivedT >::UnusedDeclarationEliminationPassBase ( UnusedDeclarationEliminationPassOptions 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 875 of file LLZKUnusedDeclarationEliminationPass.cpp.

Member Function Documentation

◆ classof()

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

Support isa/dyn_cast functionality for the derived pass class.

Definition at line 844 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ clonePass()

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

A clone method to create a copy of this pass.

Definition at line 849 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getArgument()

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

Definition at line 833 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getArgumentName()

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

Returns the command-line argument attached to this pass.

Definition at line 830 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getDependentDialects()

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

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

Definition at line 854 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getDescription()

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

Definition at line 835 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getName()

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

Definition at line 841 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ getPassName()

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

Returns the derived pass name.

Definition at line 838 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ createUnusedDeclarationEliminationPass [1/2]

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

Definition at line 882 of file LLZKUnusedDeclarationEliminationPass.cpp.

◆ createUnusedDeclarationEliminationPass [2/2]

template<typename DerivedT>
std::unique_ptr<::mlir::Pass > createUnusedDeclarationEliminationPass ( UnusedDeclarationEliminationPassOptions options)
friend

Definition at line 886 of file LLZKUnusedDeclarationEliminationPass.cpp.

Member Data Documentation

◆ removeStructs

template<typename DerivedT>
::mlir::Pass::Option<bool> llzk::impl::UnusedDeclarationEliminationPassBase< DerivedT >::removeStructs {*this, "remove-structs", ::llvm::cl::desc("Whether to remove unused struct definitions as well. Requires module to declare a Main component, otherwise all components will appear unused."), ::llvm::cl::init(false)}
protected

Definition at line 879 of file LLZKUnusedDeclarationEliminationPass.cpp.


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