FLANG
Functions
cuf Namespace Reference

Functions

mlir::gpu::GPUModuleOp getOrCreateGPUModule (mlir::ModuleOp mod, mlir::SymbolTable &symTab)
 Retrieve or create the CUDA Fortran GPU module in the given mod.
 
bool isInCUDADeviceContext (mlir::Operation *op)
 
bool isRegisteredDeviceGlobal (fir::GlobalOp op)
 
void genPointerSync (const mlir::Value box, fir::FirOpBuilder &builder)
 
cuf::DataAttributeAttr getDataAttribute (mlir::MLIRContext *mlirContext, std::optional< Fortran::common::CUDADataAttr > cudaAttr)
 
cuf::ProcAttributeAttr getProcAttribute (mlir::MLIRContext *mlirContext, std::optional< Fortran::common::CUDASubprogramAttrs > cudaAttr)
 
void registerCUFDialectTranslation (mlir::DialectRegistry &registry)
 
void populateCUFGPUToLLVMConversionPatterns (const fir::LLVMTypeConverter &converter, mlir::RewritePatternSet &patterns, mlir::PatternBenefit benefit=1)
 
void populateCUFToFIRConversionPatterns (const fir::LLVMTypeConverter &converter, mlir::DataLayout &dl, const mlir::SymbolTable &symtab, mlir::RewritePatternSet &patterns)
 Patterns that convert CUF operations to runtime calls.
 
void populateFIRCUFConversionPatterns (const mlir::SymbolTable &symtab, mlir::RewritePatternSet &patterns)
 Patterns that updates fir operations in presence of CUF.
 

Detailed Description

Instantiation of pft::Variable in FIR/MLIR.

Function Documentation

◆ getOrCreateGPUModule()

mlir::gpu::GPUModuleOp cuf::getOrCreateGPUModule ( mlir::ModuleOp  mod,
mlir::SymbolTable &  symTab 
)

Retrieve or create the CUDA Fortran GPU module in the given mod.

Retrieve or create the CUDA Fortran GPU module in the give in mod.

◆ registerCUFDialectTranslation()

void cuf::registerCUFDialectTranslation ( mlir::DialectRegistry &  registry)

Register the CUF dialect and the translation from it to the LLVM IR in the given registry.