[llvm-dev] Proposal: introduce dependency on abseil when building benchmarks

Tom Stellard via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 7 09:46:47 PDT 2021


On 9/30/21 10:07 AM, Mircea Trofin via llvm-dev wrote:
> TL;DR; When either of LLVM_BUILD_BENCHMARKS or LIBCXX_INCLUDE_BENCHMARKS are enabled, as well as for llvm-test-suite, a dependency to abseil would either be auto-downloaded by the build system, or need to be user-specifiable, or provided in the source tree.
> 
> Details
> 
> There are (afaik) 3 copies of the google/benchmark <https://github.com/google/benchmark> project in the llvm tree: in llvm-test-suite, in llvm/utils, and in libcxx/utils/.
> 
> The benchmark code uses some functionality otherwise offered by abseil <https://abseil.io/>. Over time, this is inconvenient: continued need for duplication for some features; integration issues in projects using abseil due to macro conflicts; and overall bit rot / maintenance overhead.
> 
> We want <https://github.com/google/benchmark/pull/1183> to add a dependency to abseil to the benchmarks project.
> 
> Abseil has some requirements <https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20).> that may not perfectly match those of the impacted projects. For example, abseil stopped supporting Ubuntu 14.04 before its TLS.
> 

Does this mean it would no longer be  possible to build the test-suite
on any architecture besides x86_64, aarch64, and arm?

-Tom

> Naturally, projects snap to whichever version of benchmark they want to; but this new dependency would add an extra consideration when considering updating the version of benchmarks; and the need to handle the extra dependency (either by being OK with it being auto-downloaded, or via the other means described above)
> 
> Are there any other issues that we're missing? Would anyone be hindered by this adoption of abseil in google/benchmarks?
> 
> Thanks,
> Mircea.
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 



More information about the llvm-dev mailing list