MLIR 22.0.0git
mlir::acc::detail::OpenACCSupportTraits::Model< ImplT > Class Template Referencefinal

This class wraps a concrete OpenACCSupport implementation and forwards interface calls to it. More...

#include "mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h"

Inheritance diagram for mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >:

Public Member Functions

 Model (ImplT &&impl)
 ~Model () override=default
std::string getVariableName (Value v) final
 Get the variable name for a given MLIR value.
std::string getRecipeName (RecipeKind kind, Type type, Value var) final
 Get the recipe name for a given kind, type and value.
InFlightDiagnostic emitNYI (Location loc, const Twine &message) final
bool isValidSymbolUse (Operation *user, SymbolRefAttr symbol, Operation **definingOpPtr) final
 Check if a symbol use is valid for use in an OpenACC region.
Public Member Functions inherited from mlir::acc::detail::OpenACCSupportTraits::Concept
virtual ~Concept ()=default

Detailed Description

template<typename ImplT>
class mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >

This class wraps a concrete OpenACCSupport implementation and forwards interface calls to it.

This provides type erasure, allowing different implementation types to be used interchangeably without inheritance. Methods can be optionally implemented; if not present, default behavior is used.

Definition at line 106 of file OpenACCSupport.h.

Constructor & Destructor Documentation

◆ Model()

template<typename ImplT>
mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::Model ( ImplT && impl)
inlineexplicit

Definition at line 108 of file OpenACCSupport.h.

◆ ~Model()

template<typename ImplT>
mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::~Model ( )
overridedefault

Member Function Documentation

◆ emitNYI()

template<typename ImplT>
InFlightDiagnostic mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::emitNYI ( Location loc,
const Twine & message )
inlinefinalvirtual

◆ getRecipeName()

template<typename ImplT>
std::string mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::getRecipeName ( RecipeKind kind,
Type type,
Value var )
inlinefinalvirtual

Get the recipe name for a given kind, type and value.

Implements mlir::acc::detail::OpenACCSupportTraits::Concept.

Definition at line 115 of file OpenACCSupport.h.

◆ getVariableName()

template<typename ImplT>
std::string mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::getVariableName ( Value v)
inlinefinalvirtual

Get the variable name for a given MLIR value.

Implements mlir::acc::detail::OpenACCSupportTraits::Concept.

Definition at line 111 of file OpenACCSupport.h.

◆ isValidSymbolUse()

template<typename ImplT>
bool mlir::acc::detail::OpenACCSupportTraits::Model< ImplT >::isValidSymbolUse ( Operation * user,
SymbolRefAttr symbol,
Operation ** definingOpPtr )
inlinefinalvirtual

Check if a symbol use is valid for use in an OpenACC region.

Implements mlir::acc::detail::OpenACCSupportTraits::Concept.

Definition at line 123 of file OpenACCSupport.h.

References mlir::acc::isValidSymbolUse().


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