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

Reply via email to