<html>
    <head>
      <base href="https://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 --- - Assertion failed: (NodeToMatch->getOpcode() != ISD::DELETED_NODE && "NodeToMatch was removed partway through selection"), function SelectCodeCommon"
   href="https://llvm.org/bugs/show_bug.cgi?id=31536">31536</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion failed: (NodeToMatch->getOpcode() != ISD::DELETED_NODE && "NodeToMatch was removed partway through selection"), function SelectCodeCommon
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.9
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>All
          </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>new bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>dimitry@andric.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>As noted in <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Bootstrapped Clang on Windows fails with "Argument index out of range!" assert"
   href="show_bug.cgi?id=28705">bug 28705</a>, the following test case, reduced from
<a href="https://bugs.freebsd.org/215649">https://bugs.freebsd.org/215649</a>:

//////////////////////////////////////////////////////////////////////
// clang -cc1 -triple x86_64 -S -O2 -vectorize-loops testcase.cpp
double x0;
int x1, x2, x3, x4;
double *x5;
void x6() {
  x4 = (x1 & 512 - 1) + 1;
  for (; x3; x3++, x5 += x4)
    for (; x2 < 0; x2++)
      x5[x2] = x0;
}
//////////////////////////////////////////////////////////////////////

results in:

Assertion failed: (NodeToMatch->getOpcode() != ISD::DELETED_NODE &&
"NodeToMatch was removed partway through selection"), function
SelectCodeCommon, file lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp, line
3387.

It turned out that this assertion already fired in the very first
release_39 branch point, r275826, and has not been fixed during the
3.9.0 and 3.9.1 release cycles.

When I followed trunk from r275826 onwards, I ended up at Wei Mi's r276136,
which seemed to fix this assertion.  However, in <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Bootstrapped Clang on Windows fails with "Argument index out of range!" assert"
   href="show_bug.cgi?id=28705">bug 28705</a> he agrees that
r276136, and its follow-ups r278160 and r278161 just seem to paper over it.

Thus I am filing this bug as a separate case.  It may or may not be related to
<a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Assertion `NodeToMatch->getOpcode() != ISD::DELETED_NODE && "NodeToMatch was removed partway through selection"' failed."
   href="show_bug.cgi?id=30775">bug 30775</a>, which is about the same assertion (but with a different test case,
and it still occurs with the latest trunk, as of 2017-01-01).</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>