MLIR 22.0.0git
mlir::PassWrapper< PassT, BaseT > Class Template Reference

This class provides a CRTP wrapper around a base pass class to define several necessary utility methods. More...

#include "mlir/Pass/Pass.h"

Inheritance diagram for mlir::PassWrapper< PassT, BaseT >:

Public Member Functions

 ~PassWrapper () override=default

Static Public Member Functions

static bool classof (const Pass *pass)
 Support isa/dyn_cast functionality for the derived pass class.

Protected Member Functions

 PassWrapper ()
 PassWrapper (const PassWrapper &)=default
PassWrapperoperator= (const PassWrapper &)=delete
 PassWrapper (PassWrapper &&)=delete
PassWrapperoperator= (PassWrapper &&)=delete
StringRef getName () const override
 Returns the derived pass name.
std::unique_ptr< PassclonePass () const override
 A clone method to create a copy of this pass.

Detailed Description

template<typename PassT, typename BaseT>
class mlir::PassWrapper< PassT, BaseT >

This class provides a CRTP wrapper around a base pass class to define several necessary utility methods.

This should only be used for passes that are not suitably represented using the declarative pass specification(i.e. tablegen backend).

Definition at line 458 of file Pass.h.

Constructor & Destructor Documentation

◆ ~PassWrapper()

template<typename PassT, typename BaseT>
mlir::PassWrapper< PassT, BaseT >::~PassWrapper ( )
overridedefault

◆ PassWrapper() [1/3]

template<typename PassT, typename BaseT>
mlir::PassWrapper< PassT, BaseT >::PassWrapper ( )
inlineprotected

Definition at line 467 of file Pass.h.

References mlir::get().

Referenced by operator=(), operator=(), PassWrapper(), and PassWrapper().

◆ PassWrapper() [2/3]

template<typename PassT, typename BaseT>
mlir::PassWrapper< PassT, BaseT >::PassWrapper ( const PassWrapper< PassT, BaseT > & )
protecteddefault

References PassWrapper().

◆ PassWrapper() [3/3]

template<typename PassT, typename BaseT>
mlir::PassWrapper< PassT, BaseT >::PassWrapper ( PassWrapper< PassT, BaseT > && )
protecteddelete

References PassWrapper().

Member Function Documentation

◆ classof()

template<typename PassT, typename BaseT>
bool mlir::PassWrapper< PassT, BaseT >::classof ( const Pass * pass)
inlinestatic

Support isa/dyn_cast functionality for the derived pass class.

Definition at line 461 of file Pass.h.

References mlir::TypeID::get(), and mlir::Pass::getTypeID().

◆ clonePass()

template<typename PassT, typename BaseT>
std::unique_ptr< Pass > mlir::PassWrapper< PassT, BaseT >::clonePass ( ) const
inlineoverrideprotected

A clone method to create a copy of this pass.

Definition at line 477 of file Pass.h.

◆ getName()

template<typename PassT, typename BaseT>
StringRef mlir::PassWrapper< PassT, BaseT >::getName ( ) const
inlineoverrideprotected

Returns the derived pass name.

Definition at line 474 of file Pass.h.

◆ operator=() [1/2]

template<typename PassT, typename BaseT>
PassWrapper & mlir::PassWrapper< PassT, BaseT >::operator= ( const PassWrapper< PassT, BaseT > & )
protecteddelete

References PassWrapper().

◆ operator=() [2/2]

template<typename PassT, typename BaseT>
PassWrapper & mlir::PassWrapper< PassT, BaseT >::operator= ( PassWrapper< PassT, BaseT > && )
protecteddelete

References PassWrapper().


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