MLIR
20.0.0git
|
Classes | |
struct | RuntimeCounters |
struct | ConstructResource |
struct | CurrentDeviceIdResource |
Enumerations | |
enum | OpenACCExecMapping { NONE = 0 , VECTOR = 1 , WORKER = 2 , GANG = 4 } |
Enumeration used to encode the execution mapping on a loop construct. More... | |
Functions | |
mlir::Value | getVarPtr (mlir::Operation *accDataClauseOp) |
Used to obtain the varPtr from a data clause operation. More... | |
mlir::Value | getAccPtr (mlir::Operation *accDataClauseOp) |
Used to obtain the accPtr from a data clause operation. More... | |
mlir::Value | getVarPtrPtr (mlir::Operation *accDataClauseOp) |
Used to obtain the varPtrPtr from a data clause operation. More... | |
mlir::SmallVector< mlir::Value > | getBounds (mlir::Operation *accDataClauseOp) |
Used to obtain bounds from an acc data clause operation. More... | |
mlir::SmallVector< mlir::Value > | getAsyncOperands (mlir::Operation *accDataClauseOp) |
Used to obtain async operands from an acc data clause operation. More... | |
mlir::ArrayAttr | 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 | 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 > | getVarName (mlir::Operation *accOp) |
Used to obtain the name from an acc operation. More... | |
std::optional< mlir::acc::DataClause > | getDataClause (mlir::Operation *accDataEntryOp) |
Used to obtain the dataClause from a data entry operation. More... | |
bool | getImplicitFlag (mlir::Operation *accDataEntryOp) |
Used to find out whether data operation is implicit. More... | |
mlir::ValueRange | getDataOperands (mlir::Operation *accOp) |
Used to get an immutable range iterating over the data operands. More... | |
mlir::MutableOperandRange | getMutableDataOperands (mlir::Operation *accOp) |
Used to get a mutable range iterating over the data operands. More... | |
static constexpr StringLiteral | getDeclareAttrName () |
Used to obtain the attribute name for declare. More... | |
static constexpr StringLiteral | getDeclareActionAttrName () |
static constexpr StringLiteral | getRoutineInfoAttrName () |
static constexpr StringLiteral | getCombinedConstructsAttrName () |
Enumeration used to encode the execution mapping on a loop construct.
They refer directly to the OpenACC 3.3 standard: 2.9.2. gang 2.9.3. worker 2.9.4. vector
Value can be combined bitwise to reflect the mapping applied to the construct. e.g. acc.loop gang vector
, the gang
and vector
could be combined and the final mapping value would be 5 (4 | 1).
Enumerator | |
---|---|
NONE | |
VECTOR | |
WORKER | |
GANG |
mlir::Value mlir::acc::getAccPtr | ( | mlir::Operation * | accDataClauseOp | ) |
Used to obtain the accPtr
from a data clause operation.
When a data entry operation, it obtains its result accPtr
value. If a data exit operation, it obtains its operand accPtr
value. Returns empty value if not a data clause operation.
Definition at line 2886 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS, and ACC_DATA_EXIT_OPS.
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.
Definition at line 2941 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS, and ACC_DATA_EXIT_OPS.
mlir::SmallVector< mlir::Value > mlir::acc::getAsyncOperands | ( | mlir::Operation * | accDataClauseOp | ) |
Used to obtain async
operands from an acc data clause operation.
Returns an empty vector if there are no such operands.
Definition at line 2919 of file OpenACC.cpp.
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.
Definition at line 2933 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS, and ACC_DATA_EXIT_OPS.
mlir::SmallVector< mlir::Value > mlir::acc::getBounds | ( | mlir::Operation * | accDataClauseOp | ) |
Used to obtain bounds
from an acc data clause operation.
Returns an empty vector if there are no bounds.
Definition at line 2904 of file OpenACC.cpp.
|
staticconstexpr |
std::optional< mlir::acc::DataClause > mlir::acc::getDataClause | ( | mlir::Operation * | accDataEntryOp | ) |
Used to obtain the dataClause
from a data entry operation.
Returns empty optional if not a data entry operation.
Definition at line 2959 of file OpenACC.cpp.
Referenced by checkDeclareOperands().
mlir::ValueRange mlir::acc::getDataOperands | ( | mlir::Operation * | accOp | ) |
Used to get an immutable range iterating over the data operands.
Definition at line 2977 of file OpenACC.cpp.
References ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS.
|
staticconstexpr |
|
staticconstexpr |
Used to obtain the attribute name for declare.
Definition at line 140 of file OpenACC.h.
Referenced by checkDeclareOperands().
bool mlir::acc::getImplicitFlag | ( | mlir::Operation * | accDataEntryOp | ) |
Used to find out whether data operation is implicit.
Returns false if not a data operation or if it is a data operation without implicit flag.
Definition at line 2969 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS.
Referenced by checkDeclareOperands().
mlir::MutableOperandRange mlir::acc::getMutableDataOperands | ( | mlir::Operation * | accOp | ) |
Used to get a mutable range iterating over the data operands.
Definition at line 2987 of file OpenACC.cpp.
References ACC_COMPUTE_AND_DATA_CONSTRUCT_OPS.
|
staticconstexpr |
std::optional< llvm::StringRef > mlir::acc::getVarName | ( | mlir::Operation * | accOp | ) |
Used to obtain the name
from an acc operation.
Definition at line 2948 of file OpenACC.cpp.
Referenced by mlir::tblgen::SymbolInfoMap::SymbolInfo::getArgDecl(), and mlir::tblgen::SymbolInfoMap::SymbolInfo::getVarDecl().
mlir::Value mlir::acc::getVarPtr | ( | mlir::Operation * | accDataClauseOp | ) |
Used to obtain the varPtr
from a data clause operation.
Returns empty value if not a data clause operation or is a data exit operation with no varPtr
.
Definition at line 2876 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS.
Referenced by checkDeclareOperands().
mlir::Value mlir::acc::getVarPtrPtr | ( | mlir::Operation * | accDataClauseOp | ) |
Used to obtain the varPtrPtr
from a data clause operation.
Returns empty value if not a data clause operation.
Definition at line 2894 of file OpenACC.cpp.
References ACC_DATA_ENTRY_OPS.