[libc-commits] [libc] [libc][math] Optimize maximum and minimum functions using builtins when available (PR #100002)

LLVM Continuous Integration via libc-commits libc-commits at lists.llvm.org
Tue Jul 23 15:28:44 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `fuchsia-x86_64-linux` running on `fuchsia-debian-64-us-central1-a-1` while building `libc` at step 4 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/11/builds/2261

Here is the relevant piece of the build log for the reference:
```
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[158/1669] Building CXX object libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_trailing_ones_uc.dir/stdc_trailing_ones_uc.cpp.obj
[159/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atoi.dir/atoi.cpp.obj
[160/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atol.dir/atol.cpp.obj
[161/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atoll.dir/atoll.cpp.obj
[162/1669] Building CXX object libc/src/assert/generic/CMakeFiles/libc.src.assert.generic.__assert_fail.dir/__assert_fail.cpp.obj
[163/1669] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.strtoumax.dir/strtoumax.cpp.obj
[164/1669] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.strtoimax.dir/strtoimax.cpp.obj
[165/1669] Building CXX object libc/src/__support/StringUtil/CMakeFiles/libc.src.__support.StringUtil.error_to_string.dir/error_to_string.cpp.obj
[166/1669] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ceilf.dir/ceilf.cpp.obj
[167/1669] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/bin/clang++ --target=armv7m-unknown-eabi -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/include/armv7m-unknown-unknown-eabi --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv7m-unknown-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/canonicalize.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/canonicalize.cpp:10:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:25: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                         ^~~~~~~
      |                         float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:37: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                                     ^~~~~~~
      |                                     float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:48: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                                                ^~~~~~~
      |                                                float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:53:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   53 |   FPBits<float16> x_bits(x);
      |          ^~~~~~~
      |          float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:54:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   54 |   FPBits<float16> y_bits(y);
      |          ^~~~~~~
      |          float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:25: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                         ^~~~~~~
      |                         float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:37: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                                     ^~~~~~~
      |                                     float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:48: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                                                ^~~~~~~
      |                                                float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:91:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   91 |   FPBits<float16> x_bits(x);
      |          ^~~~~~~
      |          float
Step 6 (build) failure: build (failure)
...
[158/1669] Building CXX object libc/src/stdbit/CMakeFiles/libc.src.stdbit.stdc_trailing_ones_uc.dir/stdc_trailing_ones_uc.cpp.obj
[159/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atoi.dir/atoi.cpp.obj
[160/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atol.dir/atol.cpp.obj
[161/1669] Building CXX object libc/src/stdlib/CMakeFiles/libc.src.stdlib.atoll.dir/atoll.cpp.obj
[162/1669] Building CXX object libc/src/assert/generic/CMakeFiles/libc.src.assert.generic.__assert_fail.dir/__assert_fail.cpp.obj
[163/1669] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.strtoumax.dir/strtoumax.cpp.obj
[164/1669] Building CXX object libc/src/inttypes/CMakeFiles/libc.src.inttypes.strtoimax.dir/strtoimax.cpp.obj
[165/1669] Building CXX object libc/src/__support/StringUtil/CMakeFiles/libc.src.__support.StringUtil.error_to_string.dir/error_to_string.cpp.obj
[166/1669] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.ceilf.dir/ceilf.cpp.obj
[167/1669] Building CXX object libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj
FAILED: libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj 
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/bin/clang++ --target=armv7m-unknown-eabi -DLIBC_NAMESPACE=__llvm_libc_20_0_0_git -I/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc -isystem /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/include/armv7m-unknown-unknown-eabi --target=armv7m-unknown-eabi -mthumb -Wno-atomic-alignment "-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)" "-Dfprintf(stream, format, ...)=printf(format)" "-Dtimeval=struct timeval{int tv_sec; int tv_usec;}" "-Dgettimeofday(tv, tz)" -D_LIBCPP_PRINT=1 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -ffunction-sections -fdata-sections -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-24aj_csn/runtimes/runtimes-armv7m-unknown-eabi-bins=../../../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -Os -DNDEBUG -std=gnu++17 --target=armv7m-unknown-eabi -DLIBC_QSORT_IMPL=LIBC_QSORT_HEAP_SORT -fpie -ffreestanding -DLIBC_FULL_BUILD -nostdlibinc -ffixed-point -fno-builtin -fno-exceptions -fno-lax-vector-conversions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -ftrivial-auto-var-init=pattern -fno-omit-frame-pointer -Wall -Wextra -Werror -Wconversion -Wno-sign-conversion -Wimplicit-fallthrough -Wwrite-strings -Wextra-semi -Wnewline-eof -Wnonportable-system-include-path -Wstrict-prototypes -Wthread-safety -Wglobal-constructors -O3 -DLIBC_COPT_PUBLIC_PACKAGING -MD -MT libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj -MF libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj.d -o libc/src/math/generic/CMakeFiles/libc.src.math.generic.canonicalize.dir/canonicalize.cpp.obj -c /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/canonicalize.cpp
In file included from /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/math/generic/canonicalize.cpp:10:
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:25: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                         ^~~~~~~
      |                         float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:37: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                                     ^~~~~~~
      |                                     float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:52:48: error: unknown type name 'float16'; did you mean 'float'?
   52 | template <> LIBC_INLINE float16 max(float16 x, float16 y) {
      |                                                ^~~~~~~
      |                                                float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:53:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   53 |   FPBits<float16> x_bits(x);
      |          ^~~~~~~
      |          float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:54:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   54 |   FPBits<float16> y_bits(y);
      |          ^~~~~~~
      |          float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:25: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                         ^~~~~~~
      |                         float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:37: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                                     ^~~~~~~
      |                                     float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:90:48: error: unknown type name 'float16'; did you mean 'float'?
   90 | template <> LIBC_INLINE float16 min(float16 x, float16 y) {
      |                                                ^~~~~~~
      |                                                float
/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/libc/src/__support/FPUtil/BasicOperations.h:91:10: error: use of undeclared identifier 'float16'; did you mean 'float'?
   91 |   FPBits<float16> x_bits(x);
      |          ^~~~~~~
      |          float

```

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


More information about the libc-commits mailing list