MLIR 24.0.0git
ACCToLLVM.h File Reference
#include "mlir/Dialect/OpenACC/OpenACCRuntimeUtils.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Value.h"
#include <functional>
#include <memory>
#include "mlir/Conversion/Passes.h.inc"

Go to the source code of this file.

Namespaces

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

Macros

#define GEN_PASS_DECL_CONVERTACCTOLLVMPASS

Typedefs

using mlir::ACCAtomicLoadAddressCallback = std::function<Value(Operation *)>
 Returns the address operand of a dialect-specific load operation.

Functions

void mlir::configureACCExecutableDirectiveConversionLegality (ConversionTarget &target)
 Configure conversion legality for OpenACC executable directives lowered to runtime calls.
void mlir::populateACCExecutableDirectivePatterns (LLVMTypeConverter &converter, RewritePatternSet &patterns, Region &globalSymbolRegion, SymbolTable &symbolTable, const acc::ACCRuntimeCallConfig &config={})
 Populate patterns that lower OpenACC executable directives (init, shutdown, wait, set) to LLVM runtime calls.
void mlir::configureACCAtomicConversionLegality (ConversionTarget &target)
 Configure conversion legality for OpenACC atomic operations.
void mlir::populateACCAtomicPatterns (const LLVMTypeConverter &converter, RewritePatternSet &patterns, acc::OpenACCSupport &accSupport, ACCAtomicLoadAddressCallback getLoadAddress={})
 Populate patterns that lower OpenACC atomic operations to LLVM dialect.
void mlir::configureACCDataDirectiveConversionLegality (ConversionTarget &target)
 Configure conversion legality for OpenACC data directives.
void mlir::populateACCDataDirectivePatterns (LLVMTypeConverter &converter, RewritePatternSet &patterns, acc::OpenACCSupport &accSupport, Region &globalSymbolRegion, SymbolTable &symbolTable, const acc::ACCRuntimeCallConfig &config={}, acc::DeviceType clauseDeviceType=acc::DeviceType::None)
 Populate patterns that lower OpenACC data directives (acc.data, enter_data, exit_data, update, declare_enter, declare_exit) to __tgt_acc_data_*, __tgt_acc_declare, and __tgt_acc_mirror_* runtime calls.
void mlir::configureACCHostDataConversionLegality (ConversionTarget &target)
 Configure conversion legality for the OpenACC host_data construct.
void mlir::populateACCHostDataPatterns (LLVMTypeConverter &converter, RewritePatternSet &patterns, Region &globalSymbolRegion, SymbolTable &symbolTable, const acc::ACCRuntimeCallConfig &config={})
 Populate patterns that lower the OpenACC host_data construct to runtime calls, one per use_device clause, so that the body of the construct works on device addresses.
void mlir::populateACCDataClauseOpPatterns (LLVMTypeConverter &converter, RewritePatternSet &patterns, acc::OpenACCSupport &accSupport, Region &globalSymbolRegion, SymbolTable &symbolTable, const acc::ACCRuntimeCallConfig &config={})
 Populate the patterns that remove OpenACC data clause operations once the constructs holding them have turned their mappings into runtime calls.

Macro Definition Documentation

◆ GEN_PASS_DECL_CONVERTACCTOLLVMPASS

#define GEN_PASS_DECL_CONVERTACCTOLLVMPASS

Definition at line 32 of file ACCToLLVM.h.