diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2024-06-24 23:42:47 -0700 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2024-06-24 23:42:47 -0700 |
| commit | 748fe87a8e0ccce436e9c94d8d163f9e03c81b48 (patch) | |
| tree | 508d1619316f1cda23b7f7844a1c3b19d77face2 /mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | |
| parent | 46b525389c09ae37c34648c7f108374b815a6507 (diff) | |
| parent | 43d207addaf4111dd6a4e0e702e8797587ce61ba (diff) | |
[𝘀𝗽𝗿] changes introduced through rebaseusers/vitalybuka/spr/main.sanitizer-rename-define_real_pthread_functions
Created using spr 1.3.4
[skip ci]
Diffstat (limited to 'mlir/lib/Target/LLVMIR/ModuleTranslation.cpp')
| -rw-r--r-- | mlir/lib/Target/LLVMIR/ModuleTranslation.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp index 5ee94dbec873..6e8b2dec75b7 100644 --- a/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp +++ b/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp @@ -64,6 +64,8 @@ using namespace mlir; using namespace mlir::LLVM; using namespace mlir::LLVM::detail; +extern llvm::cl::opt<bool> UseNewDbgInfoFormat; + #include "mlir/Dialect/LLVMIR/LLVMConversionEnumsToLLVM.inc" namespace { @@ -1801,6 +1803,9 @@ prepareLLVMModule(Operation *m, llvm::LLVMContext &llvmContext, StringRef name) { m->getContext()->getOrLoadDialect<LLVM::LLVMDialect>(); auto llvmModule = std::make_unique<llvm::Module>(name, llvmContext); + // ModuleTranslation can currently only construct modules in the old debug + // info format, so set the flag accordingly. + llvmModule->setNewDbgInfoFormatFlag(false); if (auto dataLayoutAttr = m->getDiscardableAttr(LLVM::LLVMDialect::getDataLayoutAttrName())) { llvmModule->setDataLayout(cast<StringAttr>(dataLayoutAttr).getValue()); @@ -1879,6 +1884,11 @@ mlir::translateModuleToLLVMIR(Operation *module, llvm::LLVMContext &llvmContext, if (failed(translator.convertFunctions())) return nullptr; + // Once we've finished constructing elements in the module, we should convert + // it to use the debug info format desired by LLVM. + // See https://llvm.org/docs/RemoveDIsDebugInfo.html + translator.llvmModule->setIsNewDbgInfoFormat(UseNewDbgInfoFormat); + if (!disableVerification && llvm::verifyModule(*translator.llvmModule, &llvm::errs())) return nullptr; |
