Skip to content

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

Closed

Description

@cuviper

@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.

Activity

  1. added
    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    O-PowerPCTarget: PowerPC processors
    C-bugCategory: This is a bug.
    on Mar 7, 2019
  2. cuviper commented on Mar 15, 2019

    @cuviper
    MemberAuthor

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

  3. ajdlinux commented on Mar 27, 2019

    @ajdlinux

    Thanks!

  4. cuviper commented on Jan 29, 2020

    @cuviper
    MemberAuthor

    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.

  5. cuviper commented on Aug 19, 2020

    @cuviper
    MemberAuthor

    We have since updated to LLVM 10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.O-PowerPCTarget: PowerPC processorsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions