diff options
Diffstat (limited to 'flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp')
| -rw-r--r-- | flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp b/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp index 12021deb4bd9..75a54fd0ee14 100644 --- a/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp +++ b/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp @@ -11,6 +11,7 @@ //===----------------------------------------------------------------------===// #include "flang/Optimizer/CodeGen/FIROpPatterns.h" +#include "flang/Optimizer/Builder/FIRBuilder.h" #include "mlir/Dialect/OpenMP/OpenMPDialect.h" #include "llvm/Support/Debug.h" @@ -365,4 +366,13 @@ unsigned ConvertFIRToLLVMPattern::getProgramAddressSpace( return defaultAddressSpace; } +unsigned ConvertFIRToLLVMPattern::getGlobalAddressSpace( + mlir::ConversionPatternRewriter &rewriter) const { + mlir::Operation *parentOp = rewriter.getInsertionBlock()->getParentOp(); + assert(parentOp != nullptr && + "expected insertion block to have parent operation"); + auto dataLayout = mlir::DataLayout::closest(parentOp); + return fir::factory::getGlobalAddressSpace(&dataLayout); +} + } // namespace fir |
