Skip to content

[libc++][test] libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp fails on PowerPC targets #64426

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
amy-kwan opened this issue Aug 4, 2023 · 9 comments
Assignees
Labels
clang:codegen IR generation bugs: mangling, exceptions, etc.

Comments

@amy-kwan
Copy link
Contributor

amy-kwan commented Aug 4, 2023

When building libc++ running check-runtimes, the following issue is exhibited:

Command Output (stdout):
--
$ ":" "COMPILED WITH"
$ "/home/amyk/llvm/community/build/bootstrap/stage1/build/./bin/clang++" "/home/amyk/llvm/community/llvm-project/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp" "-pthread" "--target=powerpc64le-unknown-linux-gnu" "-nostdinc++" "-I" "/home/amyk/llvm/community/build/bootstrap/stage1/build/include/c++/v1" "-I" "/home/amyk/llvm/community/build/bootstrap/stage1/build/include/powerpc64le-unknown-linux-gnu/c++/v1" "-I" "/home/amyk/llvm/community/llvm-project/libcxx/test/support" "-std=c++26" "-Werror" "-Wall" "-Wctad-maybe-unsupported" "-Wextra" "-Wshadow" "-Wundef" "-Wunused-template" "-Wno-unused-command-line-argument" "-Wno-attributes" "-Wno-pessimizing-move" "-Wno-noexcept-type" "-Wno-atomic-alignment" "-Wno-reserved-module-identifier" "-Wno-user-defined-literals" "-Wno-tautological-compare" "-Wsign-compare" "-Wunused-variable" "-Wunused-parameter" "-Wunreachable-code" "-Wno-unused-local-typedef" "-Wno-local-type-template-args" "-Wno-c++11-extensions" "-Wno-unknown-pragmas" "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER" "-D_LIBCPP_ENABLE_EXPERIMENTAL" "-Werror=thread-safety" "-Wuser-defined-warnings" "-lc++experimental" "-nostdlib++" "-L" "/home/amyk/llvm/community/build/bootstrap/stage1/build/./lib/powerpc64le-unknown-linux-gnu" "-Wl,-rpath,/home/amyk/llvm/community/build/bootstrap/stage1/build/./lib/powerpc64le-unknown-linux-gnu" "-lc++" "-o" "/home/amyk/llvm/community/build/bootstrap/stage1/build/runtimes/runtimes-bins/test/libcxx/numerics/c.math/Output/constexpr-cxx23-clang.pass.cpp.dir/t.tmp.exe"
# command stderr:
ExpandFloatResult #0: t16: ppcf128,i32 = ffrexp t14

fatal error: error in backend: Do not know how to expand the result of this operator!
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)

This issue occurs on both LLVM 17.0.0 rc1 and main.
Investigation for this issue required.

@amy-kwan amy-kwan added libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. backend:PowerPC labels Aug 4, 2023
@amy-kwan amy-kwan added this to the LLVM 17.0.X Release milestone Aug 4, 2023
@github-project-automation github-project-automation bot moved this to Needs Triage in LLVM Release Status Aug 4, 2023
@llvmbot
Copy link
Member

llvmbot commented Aug 4, 2023

@llvm/issue-subscribers-backend-powerpc

@lei137 lei137 self-assigned this Aug 7, 2023
@nikic nikic moved this from Needs Triage to Needs Fix in LLVM Release Status Aug 8, 2023
@lei137
Copy link
Contributor

lei137 commented Aug 18, 2023

We currently don't have support for lowering of this builtin. This didn't show up previously as we don't have a libc++ buildbot. We always built libc++ for release binaries cause it just worked out of the box. For V17 since we are missing support we won't be including libc++ in our build binary. Will target to fix this in main and setup an libc++ buildbot to prevent this in the future.

@mordante
Copy link
Member

We currently don't have support for lowering of this builtin. This didn't show up previously as we don't have a libc++ buildbot. We always built libc++ for release binaries cause it just worked out of the box. For V17 since we are missing support we won't be including libc++ in our build binary. Will target to fix this in main and setup an libc++ buildbot to prevent this in the future.

Do you intend to provide a pre-commit CI builder?

@lei137
Copy link
Contributor

lei137 commented Aug 21, 2023

Was thinking something similar to the other PowerPC buildbots. Don't believe we have a pre-commit builder. Is that the prefered way?

@lei137
Copy link
Contributor

lei137 commented Aug 22, 2023

Disabling libcxx tests for now: https://reviews.llvm.org/D158547

@lei137
Copy link
Contributor

lei137 commented Aug 24, 2023

We currently don't have support for lowering of this builtin. This didn't show up previously as we don't have a libc++ buildbot. We always built libc++ for release binaries cause it just worked out of the box. For V17 since we are missing support we won't be including libc++ in our build binary. Will target to fix this in main and setup an libc++ buildbot to prevent this in the future.

Do you intend to provide a pre-commit CI builder?

@mordante Thank-you for the info, we are now looking into settting up a libc++ pre-commit CI builder on Linux PowerPC.

@lei137
Copy link
Contributor

lei137 commented Dec 12, 2023

@mordante clang-ppc64le-rhel have been updated to also build libcxx,libcxxabi. The plan is still to add a pre-commit CI builder, but that will need to wait till 1Q 2024 as I still need to track down HW to host it. Just wanted to let you know it's still in the plan.

lei137 added a commit to lei137/llvm-project that referenced this issue Dec 15, 2023
On Linux PPC call lib func ``frexpl`` for calls to ``frexp()`` for input
of type PPCDoubleDouble.

Fixes bug: llvm#64426
lei137 added a commit that referenced this issue Dec 15, 2023
…75226)

On Linux PPC call lib func ``frexpl`` for calls to ``frexp()`` for input
of type PPCDoubleDouble.

Fixes bug: #64426
@ldionne
Copy link
Member

ldionne commented Dec 18, 2023

Fixed by aaa3f72

@ldionne ldionne closed this as completed Dec 18, 2023
@EugeneZelenko EugeneZelenko removed libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. backend:PowerPC labels Dec 18, 2023
@EugeneZelenko EugeneZelenko added the clang:codegen IR generation bugs: mangling, exceptions, etc. label Dec 18, 2023
@llvmbot
Copy link
Member

llvmbot commented Dec 18, 2023

@llvm/issue-subscribers-clang-codegen

Author: Amy Kwan (amy-kwan)

When building libc++ running `check-runtimes`, the following issue is exhibited: ``` Command Output (stdout): -- $ ":" "COMPILED WITH" $ "/home/amyk/llvm/community/build/bootstrap/stage1/build/./bin/clang++" "/home/amyk/llvm/community/llvm-project/libcxx/test/libcxx/numerics/c.math/constexpr-cxx23-clang.pass.cpp" "-pthread" "--target=powerpc64le-unknown-linux-gnu" "-nostdinc++" "-I" "/home/amyk/llvm/community/build/bootstrap/stage1/build/include/c++/v1" "-I" "/home/amyk/llvm/community/build/bootstrap/stage1/build/include/powerpc64le-unknown-linux-gnu/c++/v1" "-I" "/home/amyk/llvm/community/llvm-project/libcxx/test/support" "-std=c++26" "-Werror" "-Wall" "-Wctad-maybe-unsupported" "-Wextra" "-Wshadow" "-Wundef" "-Wunused-template" "-Wno-unused-command-line-argument" "-Wno-attributes" "-Wno-pessimizing-move" "-Wno-noexcept-type" "-Wno-atomic-alignment" "-Wno-reserved-module-identifier" "-Wno-user-defined-literals" "-Wno-tautological-compare" "-Wsign-compare" "-Wunused-variable" "-Wunused-parameter" "-Wunreachable-code" "-Wno-unused-local-typedef" "-Wno-local-type-template-args" "-Wno-c++11-extensions" "-Wno-unknown-pragmas" "-D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER" "-D_LIBCPP_ENABLE_EXPERIMENTAL" "-Werror=thread-safety" "-Wuser-defined-warnings" "-lc++experimental" "-nostdlib++" "-L" "/home/amyk/llvm/community/build/bootstrap/stage1/build/./lib/powerpc64le-unknown-linux-gnu" "-Wl,-rpath,/home/amyk/llvm/community/build/bootstrap/stage1/build/./lib/powerpc64le-unknown-linux-gnu" "-lc++" "-o" "/home/amyk/llvm/community/build/bootstrap/stage1/build/runtimes/runtimes-bins/test/libcxx/numerics/c.math/Output/constexpr-cxx23-clang.pass.cpp.dir/t.tmp.exe" # command stderr: ExpandFloatResult #0: t16: ppcf128,i32 = ffrexp t14

fatal error: error in backend: Do not know how to expand the result of this operator!
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)


This issue occurs on both LLVM 17.0.0 rc1 and `main`.
Investigation for this issue required.
</details>

@nikic nikic removed this from the LLVM 17.0.X Release milestone Jan 24, 2024
blueboxd pushed a commit to blueboxd/libcxx that referenced this issue Feb 1, 2024
…#75226)

On Linux PPC call lib func ``frexpl`` for calls to ``frexp()`` for input
of type PPCDoubleDouble.

Fixes bug: llvm/llvm-project#64426

NOKEYCHECK=True
GitOrigin-RevId: aaa3f72c1ce6e1757df79c0d02e0675201ee07a3
qihangkong pushed a commit to rvgpu/rvgpu-llvm that referenced this issue Apr 23, 2024
…#75226)

On Linux PPC call lib func ``frexpl`` for calls to ``frexp()`` for input
of type PPCDoubleDouble.

Fixes bug: llvm/llvm-project#64426
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang:codegen IR generation bugs: mangling, exceptions, etc.
Projects
None yet
Development

No branches or pull requests

7 participants