MLIR 24.0.0git
ACCDataRuntime.h File Reference
#include "mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h"
#include "mlir/IR/Value.h"
#include "llvm/ADT/SmallVector.h"
#include <cstdint>

Go to the source code of this file.

Classes

struct  mlir::ACCDataRuntimeArgs
 The arguments every mapping entry point of the OpenACC runtime takes, in the order they are passed. More...

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::acc

Enumerations

enum class  mlir::ACCDataCallKind { mlir::DataEnter , mlir::DataExit }
 Identifies how data runtime arguments will be consumed. More...

Functions

Value mlir::createACCDataArray (Location loc, Type elementType, ArrayRef< Value > values, RewriterBase &rewriter)
 Materialize values as a stack-allocated LLVM array.
Value mlir::createACCDataDescriptor (Location loc, Value baseDescriptor, Type baseDescriptorType, uint32_t version, ValueRange bounds, Value elementSize, ConversionPatternRewriter &rewriter)
 Wrap baseDescriptor in the OpenACC overlay that carries bounds.
Value mlir::createACCMemRefDescriptorWrapperArg (Location loc, MemRefType memrefType, Value convertedMemref, ValueRange bounds, Value elementSize, ConversionPatternRewriter &rewriter)
 Build the runtime argument descriptor wrapping an already converted memref.
Value mlir::createACCArgumentDescriptor (Operation *mapOp, Value convertedOperand, acc::OpenACCSupport &accSupport, ConversionPatternRewriter &rewriter)
 Build the runtime argument descriptor for mapOp, or a null pointer when the mapping needs no descriptor.
LogicalResult mlir::emitACCDataRuntimeArgs (Location loc, ValueRange mappingOperands, ValueRange convertedOperands, ConversionPatternRewriter &rewriter, Region &globalSymbolRegion, acc::OpenACCSupport &accSupport, const acc::ACCRuntimeCallConfig &config, ACCDataRuntimeArgs &runtimeArgs, ACCDataCallKind callKind=ACCDataCallKind::DataEnter, SymbolTable *symbolTable=nullptr)
 Emit the OpenACC data runtime arguments for data-clause operands.