Skip to content

LLVM asserts "Cannot get the value bit index of a constant bit" on powerpc64le #58996

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
cuviper opened this issue Mar 7, 2019 · 4 comments
Closed
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. O-PowerPC Target: PowerPC processors T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@cuviper
Copy link
Member

cuviper commented Mar 7, 2019

@ajdlinux found this assertion failure building dist-powerpc64le-linux in #58991:

   Compiling syntax_ext v0.0.0 (/checkout/src/libsyntax_ext)
[RUSTC-TIMING] syntax_ext test:false 59.344
rustc: /checkout/src/llvm-project/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1114: unsigned int {anonymous}::BitPermutationSelector::ValueBit::getValueBitIndex() const: Assertion `hasValue() && "Cannot get the value bit index of a constant bit"' failed.
[RUSTC-TIMING] rustc test:false 731.190
rustc exited with signal: 6
error: Could not compile `rustc`.

Reproducing this depends on having LLVM assertions enabled, which we don't normally have on CI for DEPLOY=1 builds.

I was also able to reproduce this with big-endian dist-powerpc64-linux.

@cuviper cuviper added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. O-PowerPC Target: PowerPC processors C-bug Category: This is a bug. labels Mar 7, 2019
@cuviper
Copy link
Member Author

cuviper commented Mar 15, 2019

I bisected this in LLVM and filed a bug: https://bugs.llvm.org/show_bug.cgi?id=41088

@ajdlinux
Copy link

Thanks!

@cuviper
Copy link
Member Author

cuviper commented Jan 29, 2020

This is fixed by D72038, which will release in LLVM 10 (see also #67759). I suppose we could backport this to the current LLVM 9 build, as it applies cleanly, but I'm not sure how much we need this. It doesn't seem to cause problems in non-asserting builds, at least.

@cuviper
Copy link
Member Author

cuviper commented Aug 19, 2020

We have since updated to LLVM 10.

@cuviper cuviper closed this as completed Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug. O-PowerPC Target: PowerPC processors T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

2 participants