MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
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. More...
 

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. More...
 
std::unique_ptr< PassclonePass () const override
 A clone method to create a copy of this pass. More...
 

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 457 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 466 of file Pass.h.

◆ PassWrapper() [2/3]

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

◆ PassWrapper() [3/3]

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

Member Function Documentation

◆ classof()

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

Support isa/dyn_cast functionality for the derived pass class.

Definition at line 460 of file Pass.h.

References 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 476 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 473 of file Pass.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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