From f4e6ddbc2ed77ef73a036408f1d04bb792e2d357 Mon Sep 17 00:00:00 2001 From: jameshu15869 <55058507+jameshu15869@users.noreply.github.com> Date: Sat, 6 Jul 2024 17:53:36 -0500 Subject: [PATCH] [libc] Fix Cppcheck Issues (#96999) This PR fixes linting issues discovered by `cppcheck`. Fixes: https://github.com/llvm/llvm-project/issues/96863 --- libc/benchmarks/gpu/LibcGpuBenchmark.cpp | 25 ++++++++++++------------ libc/benchmarks/gpu/LibcGpuBenchmark.h | 4 ++-- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp index 69adb0c95ba7..7f60c9cc4a2f 100644 --- a/libc/benchmarks/gpu/LibcGpuBenchmark.cpp +++ b/libc/benchmarks/gpu/LibcGpuBenchmark.cpp @@ -17,7 +17,8 @@ void Benchmark::add_benchmark(Benchmark *benchmark) { benchmarks.push_back(benchmark); } -BenchmarkResult reduce_results(cpp::array &results) { +BenchmarkResult +reduce_results(const cpp::array &results) { BenchmarkResult result; uint64_t cycles_sum = 0; double standard_deviation_sum = 0; @@ -51,16 +52,16 @@ void Benchmark::run_benchmarks() { uint64_t id = gpu::get_thread_id(); gpu::sync_threads(); - for (Benchmark *benchmark : benchmarks) - results[id] = benchmark->run(); + for (Benchmark *b : benchmarks) + results[id] = b->run(); gpu::sync_threads(); if (id == 0) { - for (Benchmark *benchmark : benchmarks) { + for (Benchmark const *b : benchmarks) { BenchmarkResult all_results = reduce_results(results); constexpr auto GREEN = "\033[32m"; constexpr auto RESET = "\033[0m"; - log << GREEN << "[ RUN ] " << RESET << benchmark->get_name() << '\n'; - log << GREEN << "[ OK ] " << RESET << benchmark->get_name() << ": " + log << GREEN << "[ RUN ] " << RESET << b->get_name() << '\n'; + log << GREEN << "[ OK ] " << RESET << b->get_name() << ": " << all_results.cycles << " cycles, " << all_results.min << " min, " << all_results.max << " max, " << all_results.total_iterations << " iterations, " << all_results.total_time << " ns, " @@ -82,7 +83,6 @@ BenchmarkResult benchmark(const BenchmarkOptions &options, uint32_t samples = 0; uint64_t total_time = 0; uint64_t best_guess = 0; - uint64_t total_cycles = 0; uint64_t cycles_squared = 0; uint64_t min = UINT64_MAX; uint64_t max = 0; @@ -92,15 +92,15 @@ BenchmarkResult benchmark(const BenchmarkOptions &options, for (int i = 0; i < overhead_iterations; i++) overhead = cpp::min(overhead, LIBC_NAMESPACE::overhead()); - for (uint64_t time_budget = options.max_duration; time_budget >= 0;) { + for (int64_t time_budget = options.max_duration; time_budget >= 0;) { uint64_t sample_cycles = 0; const clock_t start = static_cast(clock()); for (uint32_t i = 0; i < iterations; i++) { auto wrapper_intermediate = wrapper_func(); - uint64_t result = wrapper_intermediate - overhead; - max = cpp::max(max, result); - min = cpp::min(min, result); - sample_cycles += result; + uint64_t current_result = wrapper_intermediate - overhead; + max = cpp::max(max, current_result); + min = cpp::min(min, current_result); + sample_cycles += current_result; } const clock_t end = clock(); const clock_t duration_ns = @@ -108,7 +108,6 @@ BenchmarkResult benchmark(const BenchmarkOptions &options, total_time += duration_ns; time_budget -= duration_ns; samples++; - total_cycles += sample_cycles; cycles_squared += sample_cycles * sample_cycles; total_iterations += iterations; diff --git a/libc/benchmarks/gpu/LibcGpuBenchmark.h b/libc/benchmarks/gpu/LibcGpuBenchmark.h index 59dd58946208..ffc858911b1c 100644 --- a/libc/benchmarks/gpu/LibcGpuBenchmark.h +++ b/libc/benchmarks/gpu/LibcGpuBenchmark.h @@ -19,8 +19,8 @@ struct BenchmarkOptions { uint32_t max_iterations = 10000000; uint32_t min_samples = 4; uint32_t max_samples = 1000; - uint64_t min_duration = 0; // in nanoseconds (ns) - uint64_t max_duration = 1000 * 1000 * 1000; // 1e9 nanoseconds = 1 second + int64_t min_duration = 0; // in nanoseconds (ns) + int64_t max_duration = 1000 * 1000 * 1000; // 1e9 nanoseconds = 1 second double epsilon = 0.01; double scaling_factor = 1.4; };