From 081a80f2b56763422183542ad10b5a6b0814312e Mon Sep 17 00:00:00 2001 From: David Peixotto Date: Thu, 14 Nov 2024 11:10:11 -0800 Subject: [PATCH] Fix build issues with libc mem* benchmarks (#115982) Fix a few issues found when trying to build the benchmark: Errors 1. Unable to find include "src/__support/macros/config.h" in LibcMemoryBenchmarkMain.cpp Warnings 2. Unused variable warning `Index` in MemorySizeDistributions.cpp 3. Fix deprecation warning for const-ref version of `DoNotOptimize`. warning: 'DoNotOptimize' is deprecated: The const-ref version of this method can permit undesired compiler optimizations in benchmarks --- libc/benchmarks/CMakeLists.txt | 1 + libc/benchmarks/LibcBenchmark.h | 2 +- libc/benchmarks/MemorySizeDistributions.cpp | 6 ++---- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/libc/benchmarks/CMakeLists.txt b/libc/benchmarks/CMakeLists.txt index 0cff6eb12c24..52e3f942d16e 100644 --- a/libc/benchmarks/CMakeLists.txt +++ b/libc/benchmarks/CMakeLists.txt @@ -126,6 +126,7 @@ add_library(libc-memory-benchmark target_include_directories(libc-memory-benchmark PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} + ${LIBC_SOURCE_DIR} ) target_link_libraries(libc-memory-benchmark PUBLIC diff --git a/libc/benchmarks/LibcBenchmark.h b/libc/benchmarks/LibcBenchmark.h index 0a0b40f924e6..6b1556721e41 100644 --- a/libc/benchmarks/LibcBenchmark.h +++ b/libc/benchmarks/LibcBenchmark.h @@ -211,7 +211,7 @@ BenchmarkResult benchmark(const BenchmarkOptions &Options, // Measuring this Batch. const auto StartTime = Clock.now(); for (const auto Parameter : Batch) { - const auto Production = foo(Parameter); + auto Production = foo(Parameter); benchmark::DoNotOptimize(Production); } const auto EndTime = Clock.now(); diff --git a/libc/benchmarks/MemorySizeDistributions.cpp b/libc/benchmarks/MemorySizeDistributions.cpp index c3590297445d..e29b3710f736 100644 --- a/libc/benchmarks/MemorySizeDistributions.cpp +++ b/libc/benchmarks/MemorySizeDistributions.cpp @@ -185,12 +185,10 @@ ArrayRef getMemcmpSizeDistributions() { MemorySizeDistribution getDistributionOrDie(ArrayRef Distributions, StringRef Name) { - size_t Index = 0; - for (const auto &MSD : Distributions) { + for (const auto &MSD : Distributions) if (MSD.Name == Name) return MSD; - ++Index; - } + std::string Message; raw_string_ostream Stream(Message); Stream << "Unknown MemorySizeDistribution '" << Name