MLIR 24.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
template<typename ImplT, typename... Args>
using getTypeSizeAndAlignment_t
template<typename ImplT>
using has_getTypeSizeAndAlignment

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 74 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 134 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 143 of file OpenACCSupport.h.

◆ getTypeSizeAndAlignment_t

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

Definition at line 153 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:87
decltype(std::declval< ImplT >().emitRemark(std::declval< Args >()...)) emitRemark_t

Definition at line 138 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 148 of file OpenACCSupport.h.

◆ has_getTypeSizeAndAlignment

Initial value:
llvm::is_detected<getTypeSizeAndAlignment_t, ImplT, Type, ModuleOp,
Instances of the Type class are uniqued, have an immutable identifier and an optional mutable compone...
Definition Types.h:74
decltype(std::declval< ImplT >().getTypeSizeAndAlignment( std::declval< Args >()...)) getTypeSizeAndAlignment_t

Definition at line 158 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 120 of file OpenACCSupport.h.

◆ has_isValidValueUse

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

Definition at line 130 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 116 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 126 of file OpenACCSupport.h.


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