[llvm] [Exegesis] Add supports to serialize/deserialize object files into benchmarks (PR #121993)

Aiden Grossman via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 8 19:29:35 PST 2025


================
@@ -654,12 +669,54 @@ BenchmarkRunner::getRunnableConfiguration(
                         LoopBodySize, GenerateMemoryInstructions);
     if (Error E = Snippet.takeError())
       return std::move(E);
+    // There is no need to serialize/deserialize the object file if we're
+    // simply running end-to-end measurements.
+    // Same goes for any repetition mode that requires more than a single
+    // snippet.
+    if (BenchmarkPhaseSelector < BenchmarkPhaseSelectorE::Measure &&
+        (RepetitionMode == Benchmark::Loop ||
----------------
boomanaiden154 wrote:

Why are you only selecting for these two repetition modes here?

Is it significantly more complicated to support the other repetition modes?

https://github.com/llvm/llvm-project/pull/121993


More information about the llvm-commits mailing list