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

Mircea Trofin via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 7 09:46:44 PDT 2021


On Thu, Oct 7, 2021 at 8:40 AM Renato Golin <rengolin at gmail.com> wrote:

> On Thu, 30 Sept 2021 at 18:08, Mircea Trofin via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> 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.
>>
>
> The list of supported platforms is *definitely* too small for LLVM users.
> Half of their support is "best effort", which really isn't going to cut it
> once we forcefully depend on it.
>
> We definitely run benchmarks on X86_64, Arm32/64, MIPS, PowerPC (Linux,
> Mac and Windows on a mix of those), and there are probably people running
> on SystemZ, RISCV and other less known architectures.
>

Making sure we're talking about the same thing: this is strictly about
benchmarks that require flipping LLVM_BUILD_BENCHMARKS
or LIBCXX_INCLUDE_BENCHMARKS; and it's about exploring how those specific
benchmarks relate to the 'benchmark' project which we currently have as a
source copy in the llvm tree (i.e. we're sometimes manually cherry-picking
changes over, but we're not updating it through any automated means)

I looked under llvm-zorg, and can't find any bot configuration that flips
those flags in the first place, so perhaps these specific benchmarks are
run elsewhere (or my search was naive - I just grep-ed for '_BENCHMARKS' -
and only got one entry turning off TEST_SUITE_RUN_BENCHMARKS, which appears
to be unrelated)?

>From the OS x CPU matrix above, it seems the main gap is in the CPU column
- since abseil supports Linux, MacOS, and Windows, but doesn't appear to
specifically support mips, powerpc, systemz, or riscv. So if anyone runs
these kinds of benchmarks (i.e. the ones that require flipping those cmake
flags) on those CPUs, *and* we wanted, in llvm, to periodically auto-update
the source copy of 'benchmark' project, only then we would have a breaking
change.

I think there are 2 topics:
- I think the main one is: was there ever any intent to automatically
update the 2 copies of 'benchmarks' in the llvm tree? what about the one in
llvm-test-suite?

- the second is getting a better understanding of where folks build and run
those specific benchmarks (it'd help the upstream 'benchmark' project with
data points).

Renato, would you mind detailing your scenario (i.e. which of those 2 types
of benchmarks, on which OSxCPU)

If there are other folks that can chime in with their scenario, it'd be
much appreciated.

Thanks!



> What is your plan for all the other platforms where abseil isn't supported?
>
> cheers,
> --renato
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211007/1e31f93b/attachment.html>


More information about the llvm-dev mailing list