20#ifndef FORTRAN_OPTIMIZER_TRANSFORMS_MEMORYUTILS_H
21#define FORTRAN_OPTIMIZER_TRANSFORMS_MEMORYUTILS_H
23#include "flang/Optimizer/Dialect/FIROps.h"
42 mlir::OpBuilder &, fir::AllocaOp,
bool allocaDominatesDeallocLocations)>;
46 llvm::function_ref<void(mlir::Location, mlir::OpBuilder &, mlir::Value)>;
56bool replaceAllocas(mlir::RewriterBase &rewriter, mlir::Operation *parentOp,
63 fir::AllocaOp alloca);
72 mlir::Operation *func);
Definition AbstractConverter.h:37
llvm::function_ref< bool(fir::AllocaOp)> MustRewriteCallBack
Definition MemoryUtils.h:33
bool promoteDynamicVariableAllocasToCudaHeap(mlir::RewriterBase &rewriter, mlir::Operation *func)
Definition MemoryUtils.cpp:352
fir::AllocMemOp createAllocMemFromAlloca(mlir::OpBuilder &builder, fir::AllocaOp alloca)
Definition MemoryUtils.cpp:318
bool replaceAllocas(mlir::RewriterBase &rewriter, mlir::Operation *parentOp, MustRewriteCallBack, AllocaRewriterCallBack, DeallocCallBack)
Definition MemoryUtils.cpp:298
llvm::function_ref< mlir::Value( mlir::OpBuilder &, fir::AllocaOp, bool allocaDominatesDeallocLocations)> AllocaRewriterCallBack
Definition MemoryUtils.h:41
llvm::function_ref< void(mlir::Location, mlir::OpBuilder &, mlir::Value)> DeallocCallBack
Definition MemoryUtils.h:45
Definition AbstractConverter.h:32