[llvm] [RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (PR #86271)
Orlando Cazalet-Hyams via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 22 06:28:24 PDT 2024
https://github.com/OCHyams updated https://github.com/llvm/llvm-project/pull/86271
>From edfecbc2616941d01eca2221ba71a2a789e4c64e Mon Sep 17 00:00:00 2001
From: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: Thu, 14 Mar 2024 10:45:46 +0000
Subject: [PATCH 1/2] [RemoveDIs] Load into new debug info format by default in
llvm-lto and llvm-lto2
---
llvm/lib/LTO/LTO.cpp | 4 +++-
llvm/tools/llvm-lto/llvm-lto.cpp | 4 ++++
llvm/tools/llvm-lto2/llvm-lto2.cpp | 4 ++++
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index b58418c64a116b..53060df7f503e0 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -579,7 +579,9 @@ LTO::RegularLTOState::RegularLTOState(unsigned ParallelCodeGenParallelismLevel,
const Config &Conf)
: ParallelCodeGenParallelismLevel(ParallelCodeGenParallelismLevel),
Ctx(Conf), CombinedModule(std::make_unique<Module>("ld-temp.o", Ctx)),
- Mover(std::make_unique<IRMover>(*CombinedModule)) {}
+ Mover(std::make_unique<IRMover>(*CombinedModule)) {
+ CombinedModule->IsNewDbgInfoFormat = UseNewDbgInfoFormat;
+}
LTO::ThinLTOState::ThinLTOState(ThinBackend Backend)
: Backend(Backend), CombinedIndex(/*HaveGVs*/ false) {
diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp
index 7943d6952b828d..1405bd23c99106 100644
--- a/llvm/tools/llvm-lto/llvm-lto.cpp
+++ b/llvm/tools/llvm-lto/llvm-lto.cpp
@@ -270,6 +270,7 @@ static cl::opt<bool> TryUseNewDbgInfoFormat(
cl::init(false), cl::Hidden);
extern cl::opt<bool> UseNewDbgInfoFormat;
+extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInforFormat;
namespace {
@@ -943,6 +944,9 @@ int main(int argc, char **argv) {
InitLLVM X(argc, argv);
cl::HideUnrelatedOptions({<OCategory, &getColorCategory()});
cl::ParseCommandLineOptions(argc, argv, "llvm LTO linker\n");
+ // Load bitcode into the new debug info format by default.
+ if (LoadBitcodeIntoNewDbgInforFormat == cl::boolOrDefault::BOU_UNSET)
+ LoadBitcodeIntoNewDbgInforFormat = cl::boolOrDefault::BOU_TRUE;
// RemoveDIs debug-info transition: tests may request that we /try/ to use the
// new debug-info format.
diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp
index d5de4f6b1a277c..b08d1fdd704828 100644
--- a/llvm/tools/llvm-lto2/llvm-lto2.cpp
+++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp
@@ -193,6 +193,7 @@ static cl::opt<bool> TryUseNewDbgInfoFormat(
cl::init(false), cl::Hidden);
extern cl::opt<bool> UseNewDbgInfoFormat;
+extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInforFormat;
static void check(Error E, std::string Msg) {
if (!E)
@@ -228,6 +229,9 @@ static int usage() {
static int run(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, "Resolution-based LTO test harness");
+ // Load bitcode into the new debug info format by default.
+ if (LoadBitcodeIntoNewDbgInforFormat == cl::boolOrDefault::BOU_UNSET)
+ LoadBitcodeIntoNewDbgInforFormat = cl::boolOrDefault::BOU_TRUE;
// RemoveDIs debug-info transition: tests may request that we /try/ to use the
// new debug-info format.
>From e031d89e65e083fbd7d3784390df1067fe7c8886 Mon Sep 17 00:00:00 2001
From: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: Fri, 22 Mar 2024 13:27:38 +0000
Subject: [PATCH 2/2] update var after rename
---
llvm/tools/llvm-lto/llvm-lto.cpp | 6 +++---
llvm/tools/llvm-lto2/llvm-lto2.cpp | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/llvm/tools/llvm-lto/llvm-lto.cpp b/llvm/tools/llvm-lto/llvm-lto.cpp
index 1405bd23c99106..3c452b650cee1b 100644
--- a/llvm/tools/llvm-lto/llvm-lto.cpp
+++ b/llvm/tools/llvm-lto/llvm-lto.cpp
@@ -270,7 +270,7 @@ static cl::opt<bool> TryUseNewDbgInfoFormat(
cl::init(false), cl::Hidden);
extern cl::opt<bool> UseNewDbgInfoFormat;
-extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInforFormat;
+extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInfoFormat;
namespace {
@@ -945,8 +945,8 @@ int main(int argc, char **argv) {
cl::HideUnrelatedOptions({<OCategory, &getColorCategory()});
cl::ParseCommandLineOptions(argc, argv, "llvm LTO linker\n");
// Load bitcode into the new debug info format by default.
- if (LoadBitcodeIntoNewDbgInforFormat == cl::boolOrDefault::BOU_UNSET)
- LoadBitcodeIntoNewDbgInforFormat = cl::boolOrDefault::BOU_TRUE;
+ if (LoadBitcodeIntoNewDbgInfoFormat == cl::boolOrDefault::BOU_UNSET)
+ LoadBitcodeIntoNewDbgInfoFormat = cl::boolOrDefault::BOU_TRUE;
// RemoveDIs debug-info transition: tests may request that we /try/ to use the
// new debug-info format.
diff --git a/llvm/tools/llvm-lto2/llvm-lto2.cpp b/llvm/tools/llvm-lto2/llvm-lto2.cpp
index b08d1fdd704828..f222d02bd7cea7 100644
--- a/llvm/tools/llvm-lto2/llvm-lto2.cpp
+++ b/llvm/tools/llvm-lto2/llvm-lto2.cpp
@@ -193,7 +193,7 @@ static cl::opt<bool> TryUseNewDbgInfoFormat(
cl::init(false), cl::Hidden);
extern cl::opt<bool> UseNewDbgInfoFormat;
-extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInforFormat;
+extern cl::opt<cl::boolOrDefault> LoadBitcodeIntoNewDbgInfoFormat;
static void check(Error E, std::string Msg) {
if (!E)
@@ -230,8 +230,8 @@ static int usage() {
static int run(int argc, char **argv) {
cl::ParseCommandLineOptions(argc, argv, "Resolution-based LTO test harness");
// Load bitcode into the new debug info format by default.
- if (LoadBitcodeIntoNewDbgInforFormat == cl::boolOrDefault::BOU_UNSET)
- LoadBitcodeIntoNewDbgInforFormat = cl::boolOrDefault::BOU_TRUE;
+ if (LoadBitcodeIntoNewDbgInfoFormat == cl::boolOrDefault::BOU_UNSET)
+ LoadBitcodeIntoNewDbgInfoFormat = cl::boolOrDefault::BOU_TRUE;
// RemoveDIs debug-info transition: tests may request that we /try/ to use the
// new debug-info format.
More information about the llvm-commits
mailing list