MLIR 23.0.0git
mlir::acc::detail::OpenACCSupportTraits Struct Reference

This class contains internal trait classes used by OpenACCSupport. More...

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

Classes

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

Public Types

template<typename ImplT, typename... Args>
using isValidSymbolUse_t
 SFINAE helpers to detect if implementation has optional methods.
template<typename ImplT>
using has_isValidSymbolUse
template<typename ImplT, typename... Args>
using isValidValueUse_t
template<typename ImplT>
using has_isValidValueUse
template<typename ImplT, typename... Args>
using emitRemark_t
template<typename ImplT>
using has_emitRemark
template<typename ImplT, typename... Args>
using getOrCreateGPUModule_t
template<typename ImplT>
using has_getOrCreateGPUModule

Detailed Description

This class contains internal trait classes used by OpenACCSupport.

It follows the Concept-Model pattern used throughout MLIR (e.g., in AliasAnalysis and interface definitions).

Definition at line 71 of file OpenACCSupport.h.

Member Typedef Documentation

◆ emitRemark_t

template<typename ImplT, typename... Args>
using mlir::acc::detail::OpenACCSupportTraits::emitRemark_t
Initial value:
decltype(std::declval<ImplT>().emitRemark(std::declval<Args>()...))

Definition at line 126 of file OpenACCSupport.h.

◆ getOrCreateGPUModule_t

template<typename ImplT, typename... Args>
using mlir::acc::detail::OpenACCSupportTraits::getOrCreateGPUModule_t
Initial value:
decltype(std::declval<ImplT>().getOrCreateGPUModule(
std::declval<Args>()...))

Definition at line 135 of file OpenACCSupport.h.

◆ has_emitRemark

Initial value:
llvm::is_detected<emitRemark_t, ImplT, Operation *,
std::function<std::string()>, llvm::StringRef>
Operation is the basic unit of execution within MLIR.
Definition Operation.h:88
decltype(std::declval< ImplT >().emitRemark(std::declval< Args >()...)) emitRemark_t

Definition at line 130 of file OpenACCSupport.h.

◆ has_getOrCreateGPUModule

Initial value:
llvm::is_detected<getOrCreateGPUModule_t, ImplT, ModuleOp, bool,
llvm::StringRef>
decltype(std::declval< ImplT >().getOrCreateGPUModule( std::declval< Args >()...)) getOrCreateGPUModule_t

Definition at line 140 of file OpenACCSupport.h.

◆ has_isValidSymbolUse

Initial value:
llvm::is_detected<isValidSymbolUse_t, ImplT, Operation *, SymbolRefAttr,
decltype(std::declval< ImplT >().isValidSymbolUse(std::declval< Args >()...)) isValidSymbolUse_t
SFINAE helpers to detect if implementation has optional methods.

Definition at line 112 of file OpenACCSupport.h.

◆ has_isValidValueUse

Initial value:
llvm::is_detected<isValidValueUse_t, ImplT, Value, Region &>

Definition at line 122 of file OpenACCSupport.h.

◆ isValidSymbolUse_t

template<typename ImplT, typename... Args>
using mlir::acc::detail::OpenACCSupportTraits::isValidSymbolUse_t
Initial value:
decltype(std::declval<ImplT>().isValidSymbolUse(std::declval<Args>()...))

SFINAE helpers to detect if implementation has optional methods.

Definition at line 108 of file OpenACCSupport.h.

◆ isValidValueUse_t

template<typename ImplT, typename... Args>
using mlir::acc::detail::OpenACCSupportTraits::isValidValueUse_t
Initial value:
decltype(std::declval<ImplT>().isValidValueUse(std::declval<Args>()...))

Definition at line 118 of file OpenACCSupport.h.


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