<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 7, 2021 at 9:58 AM Tom Stellard <<a href="mailto:tstellar@redhat.com">tstellar@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 10/7/21 9:49 AM, Mircea Trofin wrote:<br>
> <br>
> <br>
> On Thu, Oct 7, 2021 at 9:47 AM Tom Stellard <<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a> <mailto:<a href="mailto:tstellar@redhat.com" target="_blank">tstellar@redhat.com</a>>> wrote:<br>
> <br>
>     On 9/30/21 10:07 AM, Mircea Trofin via llvm-dev wrote:<br>
>      > 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.<br>
>      ><br>
>      > Details<br>
>      ><br>
>      > There are (afaik) 3 copies of the google/benchmark <<a href="https://github.com/google/benchmark" rel="noreferrer" target="_blank">https://github.com/google/benchmark</a> <<a href="https://github.com/google/benchmark" rel="noreferrer" target="_blank">https://github.com/google/benchmark</a>>> project in the llvm tree: in llvm-test-suite, in llvm/utils, and in libcxx/utils/.<br>
>      ><br>
>      > The benchmark code uses some functionality otherwise offered by abseil <<a href="https://abseil.io/" rel="noreferrer" target="_blank">https://abseil.io/</a> <<a href="https://abseil.io/" rel="noreferrer" target="_blank">https://abseil.io/</a>>>. 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.<br>
>      ><br>
>      > We want <<a href="https://github.com/google/benchmark/pull/1183" rel="noreferrer" target="_blank">https://github.com/google/benchmark/pull/1183</a> <<a href="https://github.com/google/benchmark/pull/1183" rel="noreferrer" target="_blank">https://github.com/google/benchmark/pull/1183</a>>> to add a dependency to abseil to the benchmarks project.<br>
>      ><br>
>      > Abseil has some requirements <<a href="https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20" rel="noreferrer" target="_blank">https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20</a>) <<a href="https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20" rel="noreferrer" target="_blank">https://abseil.io/docs/cpp/platforms/platforms#:~:text=Abseil%20requires%20a%20code%20base,14%20through%20C%2B%2B20</a>)>.> that may not perfectly match those of the impacted projects. For example, abseil stopped supporting Ubuntu 14.04 before its TLS.<br>
>      ><br>
> <br>
>     Does this mean it would no longer be  possible to build the test-suite<br>
>     on any architecture besides x86_64, aarch64, and arm?<br>
> <br>
> *if* there's a desire to keep in sync automatically with the upstream benchmark suite (which we don't currently do)<br>
> <br>
<br>
Ok, where in the test-suite is this code?<br></blockquote><div>llvm-test-suite/MicroBenchmarks/libs/benchmark/</div><div><br></div><div>for completeness, the other 2 copies* pertinent to the llvm project overall are:</div>llvm-project/llvm/utils/benchmark<br>llvm-project/libcxx/utils/google-benchmark<br><div> </div><div>*AFAIK</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-Tom<br>
<br>
> <br>
> <br>
>     -Tom<br>
> <br>
>      > 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)<br>
>      ><br>
>      > Are there any other issues that we're missing? Would anyone be hindered by this adoption of abseil in google/benchmarks?<br>
>      ><br>
>      > Thanks,<br>
>      > Mircea.<br>
>      ><br>
>      ><br>
>      > _______________________________________________<br>
>      > LLVM Developers mailing list<br>
>      > <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a> <mailto:<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>><br>
>      > <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a> <<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>><br>
>      ><br>
> <br>
<br>
</blockquote></div></div>