|
MLIR 24.0.0git
|
#include "mlir/Conversion/OpenACCToLLVM/ACCDataRuntime.h"#include "mlir/Conversion/OpenACCToLLVM/ACCToLLVMUtils.h"#include "mlir/Dialect/LLVMIR/LLVMDialect.h"#include "mlir/Dialect/OpenACC/Analysis/OpenACCSupport.h"#include "mlir/Dialect/OpenACC/OpenACC.h"#include "mlir/Dialect/OpenACC/OpenACCUtilsCG.h"#include "mlir/Dialect/OpenACC/OpenACCUtilsType.h"#include "mlir/Transforms/DialectConversion.h"#include "llvm/ADT/STLExtras.h"#include "llvm/Support/Debug.h"#include <algorithm>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "acc-data-runtime" |
Functions | |
| static Value | remap (Value value, ConversionPatternRewriter &rewriter) |
| static Value | constantI64 (Location loc, int64_t value, ConversionPatternRewriter &rewriter) |
| static Value | getPointer (Location loc, Value value, ConversionPatternRewriter &rewriter) |
| static Value | getIndirectPointer (Location loc, Value value, ConversionPatternRewriter &rewriter) |
Returns the address of a slot holding value, so that the runtime reads the value from memory rather than receiving it directly. | |
| static Value | getMappedObjectPointer (Location loc, Value operand, Value converted, MapFlags mapFlags, ConversionPatternRewriter &rewriter) |
| The address of the mapped object, as the runtime expects to receive it. | |
| static std::optional< MapFlags > | computePackedMapFlags (Operation *mapOp) |
| static Value | getMapSize (Operation *mapOp, Value converted, MapFlags mapFlags, OpenACCSupport &accSupport, ConversionPatternRewriter &rewriter) |
| static Value | getElementSize (Operation *mapOp, OpenACCSupport &accSupport, ConversionPatternRewriter &rewriter) |
| static Value | getBoundValue (Value value, Location loc, ConversionPatternRewriter &rewriter) |
| #define DEBUG_TYPE "acc-data-runtime" |
Definition at line 27 of file ACCDataRuntime.cpp.
|
static |
Definition at line 108 of file ACCDataRuntime.cpp.
References mlir::acc::computeDataClauseMapFlags(), and mlir::acc::hasAttachPoint().
Referenced by mlir::emitACCDataRuntimeArgs().
Definition at line 40 of file ACCDataRuntime.cpp.
Referenced by mlir::emitACCDataRuntimeArgs(), getBoundValue(), getElementSize(), and getMapSize().
Definition at line 172 of file ACCDataRuntime.cpp.
References mlir::acc::castToI64(), constantI64(), and remap().
Referenced by mlir::createACCDataDescriptor().
|
static |
Definition at line 154 of file ACCDataRuntime.cpp.
References constantI64(), mlir::Operation::getLoc(), mlir::acc::getMapElementSize(), mlir::Operation::getParentOfType(), mlir::acc::getTypeSizeAndAlignment(), and mlir::acc::getVarType().
Referenced by mlir::createACCArgumentDescriptor().
Returns the address of a slot holding value, so that the runtime reads the value from memory rather than receiving it directly.
Definition at line 65 of file ACCDataRuntime.cpp.
References mlir::Value::getType().
Referenced by getMappedObjectPointer().
|
static |
The address of the mapped object, as the runtime expects to receive it.
Privatized storage only ever exists on the device, so there is no host address to give. A device address names storage the runtime must not look up, and an object mapped by value has no address at all, so both are handed over in a slot the runtime reads them from.
Definition at line 96 of file ACCDataRuntime.cpp.
References getIndirectPointer(), getPointer(), and mlir::Value::getType().
Referenced by mlir::emitACCDataRuntimeArgs().
|
static |
Definition at line 116 of file ACCDataRuntime.cpp.
References mlir::acc::castToI64(), mlir::acc::computeMapInfoSizeBytes(), constantI64(), mlir::acc::getBounds(), mlir::acc::getDataDescKind(), mlir::Operation::getLoc(), mlir::acc::getMapSize(), mlir::Operation::getParentOfType(), mlir::Value::getType(), mlir::acc::getTypeSizeAndAlignment(), mlir::acc::getVar(), mlir::acc::getVarType(), and remap().
Definition at line 45 of file ACCDataRuntime.cpp.
References mlir::acc::castPointerLikeTypeIfNeeded(), and mlir::Value::getType().
Referenced by mlir::createACCArgumentDescriptor(), mlir::createACCMemRefDescriptorWrapperArg(), mlir::emitACCDataRuntimeArgs(), and getMappedObjectPointer().
Definition at line 32 of file ACCDataRuntime.cpp.
Referenced by mlir::createACCArgumentDescriptor(), mlir::emitACCDataRuntimeArgs(), getBoundValue(), and getMapSize().