FLANG
|
#include "flang/Optimizer/Builder/FIRBuilder.h"
#include "flang/Optimizer/Dialect/FIRType.h"
#include "flang/Optimizer/Dialect/Support/KindMapping.h"
#include "flang/Optimizer/HLFIR/HLFIROps.h"
#include "flang/Optimizer/OpenMP/Passes.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/SymbolTable.h"
#include "mlir/Pass/Pass.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include "llvm/Support/Debug.h"
#include <type_traits>
#include "flang/Optimizer/OpenMP/Passes.h.inc"
Macros | |
#define | DEBUG_TYPE "omp-maps-for-privatized-symbols" |
#define | GEN_PASS_DEF_MAPSFORPRIVATIZEDSYMBOLSPASS |
An OpenMP dialect related pass for FIR/HLFIR which creates MapInfoOp instances for certain privatized symbols. For example, if an allocatable variable is used in a private clause attached to a omp.target op, then the allocatable variable's descriptor will be needed on the device (e.g. GPU). This descriptor needs to be separately mapped onto the device. This pass creates the necessary omp.map.info ops for this.