[llvm] Revert "[BOLT] Remove --allow-stripped option" (PR #93238)
Amir Ayupov via llvm-commits
llvm-commits at lists.llvm.org
Thu May 23 15:09:10 PDT 2024
https://github.com/aaupov updated https://github.com/llvm/llvm-project/pull/93238
>From 13b73e53b043a620804873b83eeae8d6dfc1a353 Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Thu, 23 May 2024 13:59:38 -0700
Subject: [PATCH 1/3] Revert "[BOLT] Remove --allow-stripped option"
This reverts commit ccabbfff86a00a0b211f5d0835916a1250ebcf0f.
Reintroduce allow-stripped as a fallback mechanism after enforcement of
HasSymbolsWithFileName was fixed in
https://github.com/llvm/llvm-project/pull/92625.
---
bolt/lib/Rewrite/RewriteInstance.cpp | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index 2816f669a149c..70831f4b3787c 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -105,6 +105,12 @@ cl::opt<std::string>
"output binary via bolt info section"),
cl::cat(BoltCategory));
+cl::opt<bool>
+AllowStripped("allow-stripped",
+ cl::desc("allow processing of stripped binaries"),
+ cl::Hidden,
+ cl::cat(BoltCategory));
+
cl::opt<bool> DumpDotAll(
"dump-dot-all",
cl::desc("dump function CFGs to graphviz format after each stage;"
@@ -3206,12 +3212,14 @@ void RewriteInstance::preprocessProfileData() {
if (Error E = ProfileReader->preprocessProfile(*BC.get()))
report_error("cannot pre-process profile", std::move(E));
- if (!BC->hasSymbolsWithFileName() && ProfileReader->hasLocalsWithFileName()) {
+ if (!BC->hasSymbolsWithFileName() && ProfileReader->hasLocalsWithFileName() &&
+ !opts::AllowStripped) {
BC->errs()
<< "BOLT-ERROR: input binary does not have local file symbols "
"but profile data includes function names with embedded file "
"names. It appears that the input binary was stripped while a "
- "profiled binary was not\n";
+ "profiled binary was not. If you know what you are doing and "
+ "wish to proceed, use -allow-stripped option.\n";
exit(1);
}
}
>From 7b1db81a080d69641693c458b6762035b8bc1a64 Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Thu, 23 May 2024 14:12:50 -0700
Subject: [PATCH 2/3] clang-format
---
bolt/lib/Rewrite/RewriteInstance.cpp | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index 70831f4b3787c..f4602ed1b7794 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -105,11 +105,9 @@ cl::opt<std::string>
"output binary via bolt info section"),
cl::cat(BoltCategory));
-cl::opt<bool>
-AllowStripped("allow-stripped",
- cl::desc("allow processing of stripped binaries"),
- cl::Hidden,
- cl::cat(BoltCategory));
+cl::opt<bool> AllowStripped("allow-stripped",
+ cl::desc("allow processing of stripped binaries"),
+ cl::Hidden, cl::cat(BoltCategory));
cl::opt<bool> DumpDotAll(
"dump-dot-all",
>From 33e09b37b5b0a2c36d549ad4b5d165b1ba7da85b Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Thu, 23 May 2024 15:08:58 -0700
Subject: [PATCH 3/3] Drop redefinition of AllowStripped
---
bolt/lib/Rewrite/RewriteInstance.cpp | 4 ----
1 file changed, 4 deletions(-)
diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp
index f4602ed1b7794..4b4913dd7a16c 100644
--- a/bolt/lib/Rewrite/RewriteInstance.cpp
+++ b/bolt/lib/Rewrite/RewriteInstance.cpp
@@ -105,10 +105,6 @@ cl::opt<std::string>
"output binary via bolt info section"),
cl::cat(BoltCategory));
-cl::opt<bool> AllowStripped("allow-stripped",
- cl::desc("allow processing of stripped binaries"),
- cl::Hidden, cl::cat(BoltCategory));
-
cl::opt<bool> DumpDotAll(
"dump-dot-all",
cl::desc("dump function CFGs to graphviz format after each stage;"
More information about the llvm-commits
mailing list