[libcxx-commits] [libcxx] [libc++][NFC] Simplify string.bench.cpp a bit (PR #169791)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Nov 28 02:42:20 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Nikolas Klauser (philnik777)

<details>
<summary>Changes</summary>

This removes some dead code and simplifies an expression.

---
Full diff: https://github.com/llvm/llvm-project/pull/169791.diff


1 Files Affected:

- (modified) libcxx/test/benchmarks/containers/string.bench.cpp (+1-24) 


``````````diff
diff --git a/libcxx/test/benchmarks/containers/string.bench.cpp b/libcxx/test/benchmarks/containers/string.bench.cpp
index 2484ec8fd955f..98216d22d0144 100644
--- a/libcxx/test/benchmarks/containers/string.bench.cpp
+++ b/libcxx/test/benchmarks/containers/string.bench.cpp
@@ -541,10 +541,7 @@ struct StringRead {
 
   static bool skip() {
     // Huge does not give us anything that Large doesn't have. Skip it.
-    if (Length() == ::Length::Huge) {
-      return true;
-    }
-    return false;
+    return Length() == ::Length::Huge;
   }
 
   std::string name() const { return "BM_StringRead" + Temperature::name() + Depth::name() + Length::name(); }
@@ -585,14 +582,6 @@ void sanityCheckGeneratedStrings() {
   }
 }
 
-// Some small codegen thunks to easily see generated code.
-bool StringEqString(const std::string& a, const std::string& b) { return a == b; }
-bool StringEqCStr(const std::string& a, const char* b) { return a == b; }
-bool CStrEqString(const char* a, const std::string& b) { return a == b; }
-bool StringEqCStrLiteralEmpty(const std::string& a) { return a == ""; }
-bool StringEqCStrLiteralSmall(const std::string& a) { return a == SmallStringLiteral; }
-bool StringEqCStrLiteralLarge(const std::string& a) { return a == LargeStringLiteral; }
-
 int main(int argc, char** argv) {
   benchmark::Initialize(&argc, argv);
   if (benchmark::ReportUnrecognizedArguments(argc, argv))
@@ -615,16 +604,4 @@ int main(int argc, char** argv) {
   makeCartesianProductBenchmark<StringRelationalLiteral, AllRelations, AllLengths, AllLengths, AllDiffTypes>();
   makeCartesianProductBenchmark<StringRead, AllTemperatures, AllDepths, AllLengths>();
   benchmark::RunSpecifiedBenchmarks();
-
-  if (argc < 0) {
-    // ODR-use the functions to force them being generated in the binary.
-    auto functions = std::make_tuple(
-        StringEqString,
-        StringEqCStr,
-        CStrEqString,
-        StringEqCStrLiteralEmpty,
-        StringEqCStrLiteralSmall,
-        StringEqCStrLiteralLarge);
-    printf("%p", &functions);
-  }
 }

``````````

</details>


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


More information about the libcxx-commits mailing list