MLIR
20.0.0git
|
#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/OpenACCOpsInterfaces.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/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.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 |
struct | mlir::acc::CurrentDeviceIdResource |
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 | ACC_DATA_CONSTRUCT_STRUCTURED_OPS mlir::acc::DataOp, mlir::acc::DeclareOp |
#define | ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS |
#define | ACC_DATA_CONSTRUCT_OPS ACC_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::Value > | mlir::acc::getBounds (mlir::Operation *accDataClauseOp) |
Used to obtain bounds from an acc data clause operation. More... | |
mlir::SmallVector< mlir::Value > | mlir::acc::getAsyncOperands (mlir::Operation *accDataClauseOp) |
Used to obtain async operands from an acc data clause operation. More... | |
mlir::ArrayAttr | mlir::acc::getAsyncOperandsDeviceType (mlir::Operation *accDataClauseOp) |
Returns an array of acc:DeviceTypeAttr attributes attached to an acc data clause operation, that correspond to the device types associated with the async clauses with an async-value. More... | |
mlir::ArrayAttr | mlir::acc::getAsyncOnly (mlir::Operation *accDataClauseOp) |
Returns an array of acc:DeviceTypeAttr attributes attached to an acc data clause operation, that correspond to the device types associated with the async clauses without an async-value. 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 () |
static constexpr StringLiteral | mlir::acc::getCombinedConstructsAttrName () |
#define ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS ACC_COMPUTE_CONSTRUCT_OPS, ACC_DATA_CONSTRUCT_OPS |
#define ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS ACC_COMPUTE_CONSTRUCT_OPS, mlir::acc::LoopOp |
#define ACC_COMPUTE_CONSTRUCT_OPS mlir::acc::ParallelOp, mlir::acc::KernelsOp, mlir::acc::SerialOp |
#define ACC_COMPUTE_LOOP_AND_DATA_CONSTRUCT_OPS ACC_COMPUTE_CONSTRUCT_AND_LOOP_OPS, ACC_DATA_CONSTRUCT_OPS |
#define ACC_DATA_CLAUSE_OPS ACC_DATA_ENTRY_OPS, ACC_DATA_EXIT_OPS |
#define ACC_DATA_CONSTRUCT_OPS ACC_DATA_CONSTRUCT_STRUCTURED_OPS, ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS |
#define ACC_DATA_CONSTRUCT_STRUCTURED_OPS mlir::acc::DataOp, mlir::acc::DeclareOp |
#define ACC_DATA_CONSTRUCT_UNSTRUCTURED_OPS |
#define ACC_DATA_ENTRY_OPS |
#define ACC_DATA_EXIT_OPS |