<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 --- - [ARM64] UNREACHABLE executed at /src/community-mainline/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6015!"
   href="http://llvm.org/bugs/show_bug.cgi?id=19792">19792</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[ARM64] UNREACHABLE executed at /src/community-mainline/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6015!
          </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>Linux
          </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: AArch64
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>mcrosier@codeaurora.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>apazos@codeaurora.org, liujiangning1@gmail.com, llvmbugs@cs.uiuc.edu, rajav@codeaurora.org, t.p.northover@gmail.com
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Overran sorted position:
0x2212438: v2f64 = fsub 0x2212960, 0x2212330 [ORD=9] [ID=1]
  0x2212960: v2f64 = bitcast 0x2212d80 [ORD=9] [ID=15]
    0x2212d80: v2i64 = <<Unknown Node #223>> 0x220f620 [ORD=9] [ID=14]
      0x220f620: i32 = Constant<0> [ID=11]
  0x2212330: v2f64,i64,ch = <<Unknown Node #386>> 0x21e0070, 0x2212858,
0x220f938, 0x220ede0, 0x220fa40<LD8[%p]> [ORD=8] [ID=1]
    0x2212858: v2f64 = <<Unknown Machine Node #65528>> 0x220f410, 0x220ecd8,
0x2213098 [ORD=8] [ID=16]
      0x220f410: v2f64 = undef [ID=4]
      0x220ecd8: f64,ch = load 0x21e0070, 0x2212330:1,
0x220eee8<LD8[%sunkaddr2]> [ORD=5] [ID=1]
        0x2212330: v2f64,i64,ch = <<Unknown Node #386>> 0x21e0070, 0x2212858,
0x220f938, 0x220ede0, 0x220fa40<LD8[%p]> [ORD=8] [ID=1]
          0x2212858: v2f64 = <<Unknown Machine Node #65528>> 0x220f410,
0x220ecd8, 0x2213098 [ORD=8] [ID=16]
            0x220f410: v2f64 = undef [ID=4]
            0x220ecd8: f64,ch = load 0x21e0070, 0x2212330:1,
0x220eee8<LD8[%sunkaddr2]> [ORD=5] [ID=1]
              0x2212330: v2f64,i64,ch = <<Unknown Node #386>> 0x21e0070,
0x2212858, 0x220f938, 0x220ede0, 0x220fa40<LD8[%p]> [ORD=8] [ID=1]
                0x2212858: v2f64 = <<Unknown Machine Node #65528>> 0x220f410,
0x220ecd8, 0x2213098 [ORD=8] [ID=16]
                  0x220f410: v2f64 = undef [ID=4]
                  0x220ecd8: f64,ch = load 0x21e0070, 0x2212330:1,
0x220eee8<LD8[%sunkaddr2]> [ORD=5] [ID=1]


                  0x2213098: i32 = TargetConstant<2> [ID=9]
                0x220f938: i64 = Constant<1> [ID=10]
                0x220ede0: i64,ch = CopyFromReg 0x21e0070, 0x220ebd0 [ORD=2]
[ID=13]
                  0x220ebd0: i64 = Register %vreg0 [ID=1]
                0x220fa40: i64 = Register %physreg7 [ID=12]
              0x220eee8: i64 = undef [ID=3]
            0x2213098: i32 = TargetConstant<2> [ID=9]
          0x220f938: i64 = Constant<1> [ID=10]
          0x220ede0: i64,ch = CopyFromReg 0x21e0070, 0x220ebd0 [ORD=2] [ID=13]
            0x220ebd0: i64 = Register %vreg0 [ID=1]
          0x220fa40: i64 = Register %physreg7 [ID=12]
        0x220eee8: i64 = undef [ID=3]
      0x2213098: i32 = TargetConstant<2> [ID=9]
    0x220f938: i64 = Constant<1> [ID=10]
    0x220ede0: i64,ch = CopyFromReg 0x21e0070, 0x220ebd0 [ORD=2] [ID=13]
      0x220ebd0: i64 = Register %vreg0 [ID=1]
    0x220fa40: i64 = Register %physreg7 [ID=12]UNREACHABLE executed at
/prj/llvm-arm/home/nightly/src/community-mainline/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:6015!
0  llc             0x0000000000d42c42 llvm::sys::PrintStackTrace(_IO_FILE*) +
34
1  llc             0x0000000000d42864
2  libpthread.so.0 0x00007f1cc9cfc8f0
3  libc.so.6       0x00007f1cc8fdab25 gsignal + 53
4  libc.so.6       0x00007f1cc8fde670 abort + 384
5  llc             0x0000000000d0d1ec
6  llc             0x0000000000bdf751
llvm::SelectionDAG::AssignTopologicalOrder() + 865
7  llc             0x0000000000c451e5
llvm::SelectionDAGISel::DoInstructionSelection() + 69
8  llc             0x0000000000c4cb32
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 1026
9  llc             0x0000000000c513e7
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 1719
10 llc             0x0000000000c52800
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 800
11 llc             0x00000000006e46ec
12 llc             0x0000000000abac1f
llvm::FPPassManager::runOnFunction(llvm::Function&) + 655
13 llc             0x0000000000abb0fb
llvm::FPPassManager::runOnModule(llvm::Module&) + 43
14 llc             0x0000000000abb43d
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 797
15 llc             0x0000000000509932
16 llc             0x000000000050a970 main + 272
17 libc.so.6       0x00007f1cc8fc5c4d __libc_start_main + 253
18 llc             0x0000000000501329
Stack dump:
0.      Program arguments: llc
/prj/llvm-arm/home/mrosier/bugpoint-reduced-simplified.ll -mcpu=cortex-a53 -O3
-fp-contract=fast 
1.      Running pass 'Function Pass Manager' on module
'/prj/llvm-arm/home/mrosier/bugpoint-reduced-simplified.ll'.
2.      Running pass 'ARM64 Instruction Selection' on function '@foo'


Reduced test case:

target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
target triple = "arm64-none-linux-gnu"

define void @foo(double* %p) {
entry:
  %arrayidx4.i = getelementptr inbounds double* %p, i64 1
  br i1 undef, label %return, label %sw.bb51

sw.bb51:                                          ; preds = %entry
  %0 = load double* %arrayidx4.i, align 8
  %1 = load double* %p, align 8
  %2 = insertelement <2 x double> undef, double %0, i32 0
  %3 = insertelement <2 x double> %2, double %1, i32 1
  %4 = fsub <2 x double> zeroinitializer, %3
  %5 = fmul <2 x double> undef, %4
  %6 = extractelement <2 x double> %5, i32 0
  %cmp66 = fcmp olt double %6, undef
  br i1 %cmp66, label %if.then69, label %if.end106

if.then69:                                        ; preds = %sw.bb51
  unreachable

if.end106:                                        ; preds = %sw.bb51
  unreachable

return:                                           ; preds = %entry
  ret void
}

Reproduce with:
llc bugpoint-reduced-simplified.ll -mcpu=cortex-a53 -O3 -fp-contract=fast  

The bug appears to have shown up around 5/16/14.</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>