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 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
