[llvm-branch-commits] [BOLT][NFC] Unify perf data setting (PR #199322)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri May 22 22:09:34 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: Amir Ayupov (aaupov)
<details>
<summary>Changes</summary>
Combine opts::PerfData handling into one place per driver (llvm-bolt and
heatmap).
* Allow using perf data directly after DataAggregator/DataReader
unification in #<!-- -->195986.
* Drop redundant perf data checks in perf2boltMode done by setProfile.
Test Plan: NFC
---
Full diff: https://github.com/llvm/llvm-project/pull/199322.diff
1 Files Affected:
- (modified) bolt/tools/driver/llvm-bolt.cpp (+3-22)
``````````diff
diff --git a/bolt/tools/driver/llvm-bolt.cpp b/bolt/tools/driver/llvm-bolt.cpp
index cf1b31f8c0c66..2cd5151bed49a 100644
--- a/bolt/tools/driver/llvm-bolt.cpp
+++ b/bolt/tools/driver/llvm-bolt.cpp
@@ -109,21 +109,10 @@ void perf2boltMode(int argc, char **argv) {
argc, argv,
"perf2bolt - BOLT data aggregator\n"
"\nEXAMPLE: perf2bolt -p=perf.data executable -o data.fdata\n");
- if (opts::PerfData.empty()) {
- errs() << ToolName << ": expected -perfdata=<filename> option.\n";
- exit(1);
- }
if (!opts::InputDataFilename.empty()) {
errs() << ToolName << ": unknown -data option.\n";
exit(1);
}
- if (!sys::fs::exists(opts::PerfData))
- report_error(opts::PerfData, errc::no_such_file_or_directory);
- if (!DataAggregator::checkPerfDataMagic(opts::PerfData)) {
- errs() << ToolName << ": '" << opts::PerfData
- << "': expected valid perf.data file.\n";
- exit(1);
- }
if (opts::OutputFilename.empty()) {
errs() << ToolName << ": expected -o=<output file> option.\n";
exit(1);
@@ -245,24 +234,16 @@ int main(int argc, char **argv) {
}
if (!opts::PerfData.empty()) {
- if (!opts::AggregateOnly) {
- errs() << ToolName
- << ": WARNING: reading perf data directly is unsupported, "
- "please use "
- "-aggregate-only or perf2bolt.\n!!! Proceed on your own "
- "risk. !!!\n";
- }
if (Error E = RI.setProfile(opts::PerfData))
report_error(opts::PerfData, std::move(E));
+ } else if (opts::AggregateOnly) {
+ errs() << ToolName << ": missing required -perfdata option.\n";
+ exit(1);
}
if (!opts::InputDataFilename.empty()) {
if (Error E = RI.setProfile(opts::InputDataFilename))
report_error(opts::InputDataFilename, std::move(E));
}
- if (opts::AggregateOnly && opts::PerfData.empty()) {
- errs() << ToolName << ": missing required -perfdata option.\n";
- exit(1);
- }
if (Error E = RI.run())
report_error(opts::InputFilename, std::move(E));
``````````
</details>
https://github.com/llvm/llvm-project/pull/199322
More information about the llvm-branch-commits
mailing list