<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - LiveIntervals verifier errors not caught when using -run-pass"
   href="https://bugs.llvm.org/show_bug.cgi?id=46873">46873</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>LiveIntervals verifier errors not caught when using -run-pass
          </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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Common Code Generator Code
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>Matthew.Arsenault@amd.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>When using -run-pass with a single pass, LiveIntervals is not available in the
final verifier run, and thus does not catch broken live intervals introduced by
the pass. This seems to only work correctly only if another non-verifier pass
is forced to run after the pass you are trying to observe.

A workaround is to either force a run of another pass that needs LiveIntervals
after the interesting pass, or to use -start-before/-start-after around the
pass 

e.g.
llc -run-pass=breaks-liveints -verify-machineinstrs foo.mir // No verifier
error
llc -run-pass=breaks-liveints,somethingelse -verify-machineinstrs // Verifier
error
llc -start-before=breaks-liveints -stop-after=somethingelse
-verify-machineinstrs // Verifier error</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>