MLIR  18.0.0git
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 >:

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

Constructor & Destructor Documentation

◆ PassWrapper() [1/2]

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

Definition at line 448 of file Pass.h.

◆ PassWrapper() [2/2]

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

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 443 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 455 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 452 of file Pass.h.


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