[LLVMbugs] [Bug 23664] New: llc crash: Assertion `N2.getValueType().getSizeInBits() >= Log2_32_Ceil(N1.getValueType().getSizeInBits())

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue May 26 13:24:23 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23664

            Bug ID: 23664
           Summary: llc crash: Assertion
                    `N2.getValueType().getSizeInBits() >=
                    Log2_32_Ceil(N1.getValueType().getSizeInBits())
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

regehr at ulam:funcs-3-2$ llc --version
LLVM (http://llvm.org/):
  LLVM version 3.7.0svn
  Optimized build with assertions.
  Built May 26 2015 (13:34:50).
  Default target: x86_64-unknown-linux-gnu
  Host CPU: sandybridge

  Registered Targets:
    aarch64    - AArch64 (little endian)
    aarch64_be - AArch64 (big endian)
    amdgcn     - AMD GCN GPUs
    arm        - ARM
    arm64      - ARM64 (little endian)
    armeb      - ARM (big endian)
    cpp        - C++ backend
    hexagon    - Hexagon
    mips       - Mips
    mips64     - Mips64 [experimental]
    mips64el   - Mips64el [experimental]
    mipsel     - Mipsel
    msp430     - MSP430 [experimental]
    nvptx      - NVIDIA PTX 32-bit
    nvptx64    - NVIDIA PTX 64-bit
    ppc32      - PowerPC 32
    ppc64      - PowerPC 64
    ppc64le    - PowerPC 64 LE
    r600       - AMD GPUs HD2XXX-HD6XXX
    sparc      - Sparc
    sparcel    - Sparc LE
    sparcv9    - Sparc V9
    systemz    - SystemZ
    thumb      - Thumb
    thumbeb    - Thumb (big endian)
    x86        - 32-bit X86: Pentium-Pro and above
    x86-64     - 64-bit X86: EM64T and AMD64
    xcore      - XCore
regehr at ulam:funcs-3-2$ cat bar.ll 
; ModuleID = '<stdin>'

define i2 @func56341001(i2, i1, i4, i2, i1, i4, i2, i1, i4, i2, i1, i4) {
  %13 = sext i1 %1 to i2
  %14 = or i2 %13, 1
  %15 = sdiv i2 0, %14
  ret i2 %15
}
regehr at ulam:funcs-3-2$ llc bar.ll 
llc:
/home/regehr/z/compiler-source/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:3372:
llvm::SDValue llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc, llvm::EVT,
llvm::SDValue, llvm::SDValue, bool, bool, bool): Assertion
`N2.getValueType().getSizeInBits() >=
Log2_32_Ceil(N1.getValueType().getSizeInBits()) && "Invalid use of small shift
amount with oversized value!"' failed.
#0 0x152f268 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x152f268)
#1 0x152e359 SignalHandler(int)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x152e359)
#2 0x7f284b5b3340 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10340)
#3 0x7f284a7dbcc9 gsignal
/build/buildd/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#4 0x7f284a7df0d8 abort /build/buildd/eglibc-2.19/stdlib/abort.c:91:0
#5 0x7f284a7d4b86 __assert_fail_base
/build/buildd/eglibc-2.19/assert/assert.c:92:0
#6 0x7f284a7d4c32 (/lib/x86_64-linux-gnu/libc.so.6+0x2fc32)
#7 0x13d6dc9 llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc, llvm::EVT,
llvm::SDValue, llvm::SDValue, bool, bool, bool)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x13d6dc9)
#8 0x14b869d llvm::DAGTypeLegalizer::PromoteIntRes_SHL(llvm::SDNode*)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x14b869d)
#9 0x14c0d8b llvm::DAGTypeLegalizer::PromoteIntegerResult(llvm::SDNode*,
unsigned int)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x14c0d8b)
#10 0x146ac04 llvm::DAGTypeLegalizer::run()
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x146ac04)
#11 0x146b6d2 llvm::SelectionDAG::LegalizeTypes()
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x146b6d2)
#12 0x14358ba llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x14358ba)
#13 0x14399b7 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function
const&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x14399b7)
#14 0x143b81c
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x143b81c)
#15 0xcab414 (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0xcab414)
#16 0x1203e68 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x1203e68)
#17 0x120428b llvm::FPPassManager::runOnModule(llvm::Module&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x120428b)
#18 0x1204594 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x1204594)
#19 0x62a9ff compileModule(char**, llvm::LLVMContext&)
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x62a9ff)
#20 0x5f6ad8 main
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x5f6ad8)
#21 0x7f284a7c6ec5 __libc_start_main
/build/buildd/eglibc-2.19/csu/libc-start.c:321:0
#22 0x6241e4 _start
(/home/regehr/z/compiler-install/llvm-r238234-install/bin/llc+0x6241e4)
Stack dump:
0.    Program arguments: llc bar.ll 
1.    Running pass 'Function Pass Manager' on module 'bar.ll'.
2.    Running pass 'X86 DAG->DAG Instruction Selection' on function
'@func56341001'
Aborted
regehr at ulam:funcs-3-2$

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150526/fe75425d/attachment.html>


More information about the llvm-bugs mailing list