MLIR  19.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
OpenACC.h File Reference
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Bytecode/BytecodeOpInterface.h"
#include "mlir/Dialect/OpenACC/OpenACCOpsDialect.h.inc"
#include "mlir/Dialect/OpenACC/OpenACCOpsEnums.h.inc"
#include "mlir/Dialect/OpenACC/OpenACCTypeInterfaces.h.inc"
#include "mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h"
#include "mlir/Interfaces/ControlFlowInterfaces.h"
#include "mlir/Interfaces/LoopLikeInterface.h"
#include "mlir/Interfaces/SideEffectInterfaces.h"
#include "mlir/Dialect/OpenACC/OpenACCOpsTypes.h.inc"
#include "mlir/Dialect/OpenACC/OpenACCOpsAttributes.h.inc"
#include "mlir/Dialect/OpenACC/OpenACCInterfaces.h"
#include "mlir/Dialect/OpenACC/OpenACCOps.h.inc"

Go to the source code of this file.

Classes

struct  mlir::acc::RuntimeCounters
 
struct  mlir::acc::ConstructResource
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::acc
 

Macros

#define GET_TYPEDEF_CLASSES
 
#define GET_ATTRDEF_CLASSES
 
#define GET_OP_CLASSES
 
#define ACC_DATA_ENTRY_OPS
 
#define ACC_DATA_EXIT_OPS
 
#define ACC_DATA_CLAUSE_OPS   ACC_DATA_ENTRY_OPS, ACC_DATA_EXIT_OPS
 
#define ACC_COMPUTE_CONSTRUCT_OPS    mlir::acc::ParallelOp, mlir::acc::KernelsOp, mlir::acc::SerialOp
 
#define ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS    ACC_COMPUTE_CONSTRUCT_OPS, mlir::acc::LoopOp
 
#define OPENACC_DATA_CONSTRUCT_STRUCTURED_OPS    mlir::acc::DataOp, mlir::acc::DeclareOp
 
#define ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS
 
#define ACC_DATA_CONSTRUCT_OPS    OPENACC_DATA_CONSTRUCT_STRUCTURED_OPS, ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS
 
#define ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS    ACC_COMPUTE_CONSTRUCT_OPS, ACC_DATA_CONSTRUCT_OPS
 
#define ACC_COMPUTE_LOOP_AND_DATA_CONSTRUCT_OPS    ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS, ACC_DATA_CONSTRUCT_OPS
 

Enumerations

enum  mlir::acc::OpenACCExecMapping { mlir::acc::NONE = 0 , mlir::acc::VECTOR = 1 , mlir::acc::WORKER = 2 , mlir::acc::GANG = 4 }
 Enumeration used to encode the execution mapping on a loop construct. More...
 

Functions

mlir::Value mlir::acc::getVarPtr (mlir::Operation *accDataClauseOp)
 Used to obtain the varPtr from a data clause operation. More...
 
mlir::Value mlir::acc::getAccPtr (mlir::Operation *accDataClauseOp)
 Used to obtain the accPtr from a data clause operation. More...
 
mlir::Value mlir::acc::getVarPtrPtr (mlir::Operation *accDataClauseOp)
 Used to obtain the varPtrPtr from a data clause operation. More...
 
mlir::SmallVector< mlir::Valuemlir::acc::getBounds (mlir::Operation *accDataClauseOp)
 Used to obtain bounds from an acc data clause operation. More...
 
std::optional< llvm::StringRef > mlir::acc::getVarName (mlir::Operation *accOp)
 Used to obtain the name from an acc operation. More...
 
std::optional< mlir::acc::DataClause > mlir::acc::getDataClause (mlir::Operation *accDataEntryOp)
 Used to obtain the dataClause from a data entry operation. More...
 
bool mlir::acc::getImplicitFlag (mlir::Operation *accDataEntryOp)
 Used to find out whether data operation is implicit. More...
 
mlir::ValueRange mlir::acc::getDataOperands (mlir::Operation *accOp)
 Used to get an immutable range iterating over the data operands. More...
 
mlir::MutableOperandRange mlir::acc::getMutableDataOperands (mlir::Operation *accOp)
 Used to get a mutable range iterating over the data operands. More...
 
static constexpr StringLiteral mlir::acc::getDeclareAttrName ()
 Used to obtain the attribute name for declare. More...
 
static constexpr StringLiteral mlir::acc::getDeclareActionAttrName ()
 
static constexpr StringLiteral mlir::acc::getRoutineInfoAttrName ()
 

Macro Definition Documentation

◆ ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS

#define ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS    ACC_COMPUTE_CONSTRUCT_OPS, ACC_DATA_CONSTRUCT_OPS

Definition at line 66 of file OpenACC.h.

◆ ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS

#define ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS    ACC_COMPUTE_CONSTRUCT_OPS, mlir::acc::LoopOp

Definition at line 56 of file OpenACC.h.

◆ ACC_COMPUTE_CONSTRUCT_OPS

#define ACC_COMPUTE_CONSTRUCT_OPS    mlir::acc::ParallelOp, mlir::acc::KernelsOp, mlir::acc::SerialOp

Definition at line 54 of file OpenACC.h.

◆ ACC_COMPUTE_LOOP_AND_DATA_CONSTRUCT_OPS

#define ACC_COMPUTE_LOOP_AND_DATA_CONSTRUCT_OPS    ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS, ACC_DATA_CONSTRUCT_OPS

Definition at line 68 of file OpenACC.h.

◆ ACC_DATA_CLAUSE_OPS

#define ACC_DATA_CLAUSE_OPS   ACC_DATA_ENTRY_OPS, ACC_DATA_EXIT_OPS

Definition at line 53 of file OpenACC.h.

◆ ACC_DATA_CONSTRUCT_OPS

Definition at line 64 of file OpenACC.h.

◆ ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS

#define ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS
Value:
mlir::acc::EnterDataOp, mlir::acc::ExitDataOp, mlir::acc::UpdateOp, \
mlir::acc::HostDataOp, mlir::acc::DeclareEnterOp, \
mlir::acc::DeclareExitOp

Definition at line 60 of file OpenACC.h.

◆ ACC_DATA_ENTRY_OPS

#define ACC_DATA_ENTRY_OPS
Value:
mlir::acc::CopyinOp, mlir::acc::CreateOp, mlir::acc::PresentOp, \
mlir::acc::NoCreateOp, mlir::acc::AttachOp, mlir::acc::DevicePtrOp, \
mlir::acc::GetDevicePtrOp, mlir::acc::PrivateOp, \
mlir::acc::FirstprivateOp, mlir::acc::UpdateDeviceOp, \
mlir::acc::UseDeviceOp, mlir::acc::ReductionOp, \
mlir::acc::DeclareDeviceResidentOp, mlir::acc::DeclareLinkOp, \
mlir::acc::CacheOp

Definition at line 42 of file OpenACC.h.

◆ ACC_DATA_EXIT_OPS

#define ACC_DATA_EXIT_OPS
Value:
mlir::acc::CopyoutOp, mlir::acc::DeleteOp, mlir::acc::DetachOp, \
mlir::acc::UpdateHostOp

Definition at line 50 of file OpenACC.h.

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 34 of file OpenACC.h.

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 39 of file OpenACC.h.

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 31 of file OpenACC.h.

◆ OPENACC_DATA_CONSTRUCT_STRUCTURED_OPS

#define OPENACC_DATA_CONSTRUCT_STRUCTURED_OPS    mlir::acc::DataOp, mlir::acc::DeclareOp

Definition at line 58 of file OpenACC.h.