<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - X86: llc -O3 crashes with "cast<Ty>() argument of incompatible type!""
   href="http://llvm.org/bugs/show_bug.cgi?id=15608">15608</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>X86: llc -O3 crashes with "cast<Ty>() argument of incompatible type!"
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Windows NT
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: X86
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>kai@redstar.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>The attached .ll crashes llc on X86/X86_64 if llc is invoked with -O3.
The file was created by LDC linked against LLVM 3.1 and then reduced by
bugpoint.

The resulting file crashes on all LLVM versions since 3.0 including ToT.
Stacktrace is:

llc: /xtra/llvm-3.2.src/include/llvm/Support/Casting.h:208: typename
cast_retty<X, Y>::ret_type llvm::cast(const Y &) [X = llvm::CondCodeSDNode, Y =
llvm::SDValue]: Assertion `isa<X>(Val) && "cast<Ty>() argument of incompatible
type!"' failed.
0  llc             0x000000000148764e
1  llc             0x0000000001487b4a
2  libpthread.so.0 0x00007f6d24736b00
3  libc.so.6       0x00007f6d2399dfa5 gsignal + 53
4  libc.so.6       0x00007f6d2399f428 abort + 328
5  libc.so.6       0x00007f6d23996f92
6  libc.so.6       0x00007f6d23997042
7  llc             0x00000000006b3d46
8  llc             0x0000000000be04cf
9  llc             0x0000000000bc70ef
10 llc             0x0000000000bc66ae
11 llc             0x0000000000bc6186
12 llc             0x0000000000bc5f09
llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AliasAnalysis&,
llvm::CodeGenOpt::Level) + 73
13 llc             0x0000000000cebb27
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 695
14 llc             0x0000000000ceb85d
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 253
15 llc             0x0000000000ceb6dc
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 3180
16 llc             0x0000000000ce9dae
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 830
17 llc             0x0000000000ef9d5e
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 110
18 llc             0x0000000001391dda
llvm::FPPassManager::runOnFunction(llvm::Function&) + 442
19 llc             0x00000000013920dd
llvm::FPPassManager::runOnModule(llvm::Module&) + 125
20 llc             0x000000000139232d
llvm::MPPassManager::runOnModule(llvm::Module&) + 493
21 llc             0x00000000013929b7 llvm::PassManagerImpl::run(llvm::Module&)
+ 167
22 llc             0x0000000001392b91 llvm::PassManager::run(llvm::Module&) +
33
23 llc             0x00000000005f9cd6 main + 5062
24 libc.so.6       0x00007f6d2398a6c5 __libc_start_main + 245
25 llc             0x00000000005f8835
Stack dump:
0.    Program arguments: /usr/local/llvm-3.2/bin/llc -O3
bugpoint-reduced-simplified.ll 
1.    Running pass 'Function Pass Manager' on module
'bugpoint-reduced-simplified.ll'.
2.    Running pass 'X86 DAG->DAG Instruction Selection' on function
'@_D3std5range18__unittestL6598_89FZv'</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>