diff options
| author | Florian Mayer <fmayer@google.com> | 2024-08-07 14:00:51 -0700 |
|---|---|---|
| committer | Florian Mayer <fmayer@google.com> | 2024-08-07 14:00:51 -0700 |
| commit | 10fbc246b146dbdf6b7cd9083bf392505c534fbc (patch) | |
| tree | 898a2504a8bc941166603c77021937fd995e79ce /flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp | |
| parent | 191d02015fba3458bdf6381ee93c32e485daf25e (diff) | |
| parent | a05fa131db58f2d66a1f9e68fea74068f9218c2b (diff) | |
Created using spr 1.3.4
Diffstat (limited to 'flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp')
| -rw-r--r-- | flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp b/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp index b9a28b89d9a5..5db9d8ac528e 100644 --- a/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp +++ b/flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp @@ -102,9 +102,11 @@ mlir::Value ConvertFIRToLLVMPattern::getValueFromBox( auto p = rewriter.create<mlir::LLVM::GEPOp>( loc, pty, boxTy.llvm, box, llvm::ArrayRef<mlir::LLVM::GEPArg>{0, boxValue}); - auto loadOp = rewriter.create<mlir::LLVM::LoadOp>(loc, resultTy, p); + auto fldTy = getBoxEleTy(boxTy.llvm, {boxValue}); + auto loadOp = rewriter.create<mlir::LLVM::LoadOp>(loc, fldTy, p); + auto castOp = integerCast(loc, rewriter, resultTy, loadOp); attachTBAATag(loadOp, boxTy.fir, nullptr, p); - return loadOp; + return castOp; } return rewriter.create<mlir::LLVM::ExtractValueOp>(loc, box, boxValue); } |
