diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2024-08-21 17:47:17 -0700 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2024-08-21 17:47:17 -0700 |
| commit | 54081b7e4a315cdbe1017eeded9e2cf861ecc0b4 (patch) | |
| tree | d7a4ed030ea94cd06ff903d648901fbe339a55bd /flang/lib/Optimizer/CodeGen/CodeGen.cpp | |
| parent | ee572ed4ac2d9e2ff37217d6bedc20f530a5d3af (diff) | |
| parent | 64e464349bfca0d90e07f6db2f710d4d53cdacd4 (diff) | |
[𝘀𝗽𝗿] changes introduced through rebaseusers/vitalybuka/spr/main.asandarwin-simplify-test
Created using spr 1.3.4
[skip ci]
Diffstat (limited to 'flang/lib/Optimizer/CodeGen/CodeGen.cpp')
| -rw-r--r-- | flang/lib/Optimizer/CodeGen/CodeGen.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/flang/lib/Optimizer/CodeGen/CodeGen.cpp b/flang/lib/Optimizer/CodeGen/CodeGen.cpp index 1713cf98a8b9..e419b2612529 100644 --- a/flang/lib/Optimizer/CodeGen/CodeGen.cpp +++ b/flang/lib/Optimizer/CodeGen/CodeGen.cpp @@ -1201,7 +1201,9 @@ struct EmboxCommonConversion : public fir::FIROpConversion<OP> { mlir::Location loc, fir::RecordType recType) const { std::string name = - fir::NameUniquer::getTypeDescriptorName(recType.getName()); + this->options.typeDescriptorsRenamedForAssembly + ? fir::NameUniquer::getTypeDescriptorAssemblyName(recType.getName()) + : fir::NameUniquer::getTypeDescriptorName(recType.getName()); mlir::Type llvmPtrTy = ::getLlvmPtrType(mod.getContext()); if (auto global = mod.template lookupSymbol<fir::GlobalOp>(name)) { return rewriter.create<mlir::LLVM::AddressOfOp>(loc, llvmPtrTy, @@ -2704,7 +2706,10 @@ struct TypeDescOpConversion : public fir::FIROpConversion<fir::TypeDescOp> { auto recordType = mlir::dyn_cast<fir::RecordType>(inTy); auto module = typeDescOp.getOperation()->getParentOfType<mlir::ModuleOp>(); std::string typeDescName = - fir::NameUniquer::getTypeDescriptorName(recordType.getName()); + this->options.typeDescriptorsRenamedForAssembly + ? fir::NameUniquer::getTypeDescriptorAssemblyName( + recordType.getName()) + : fir::NameUniquer::getTypeDescriptorName(recordType.getName()); auto llvmPtrTy = ::getLlvmPtrType(typeDescOp.getContext()); if (auto global = module.lookupSymbol<mlir::LLVM::GlobalOp>(typeDescName)) { rewriter.replaceOpWithNewOp<mlir::LLVM::AddressOfOp>( @@ -3653,6 +3658,10 @@ public: if (!forcedTargetFeatures.empty()) fir::setTargetFeatures(mod, forcedTargetFeatures); + if (typeDescriptorsRenamedForAssembly) + options.typeDescriptorsRenamedForAssembly = + typeDescriptorsRenamedForAssembly; + // Run dynamic pass pipeline for converting Math dialect // operations into other dialects (llvm, func, etc.). // Some conversions of Math operations cannot be done |
