<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 - "PostDominatorTree is different than a freshly computed one!" with opt -branch-prob -instcombine -block-freq -verify-dom-info"
   href="https://bugs.llvm.org/show_bug.cgi?id=46098">46098</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>"PostDominatorTree is different than a freshly computed one!" with opt -branch-prob -instcombine -block-freq -verify-dom-info
          </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>Global Analyses
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>mikael.holmen@ericsson.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=23540" name="attach_23540" title="dt_verify_fail.ll">attachment 23540</a> <a href="attachment.cgi?id=23540&action=edit" title="dt_verify_fail.ll">[details]</a></span>
dt_verify_fail.ll

Reproduce with:
 opt -S -o - dt_verify_fail.ll -branch-prob -instcombine -block-freq
-verify-dom-info

Which results in:

PostDominatorTree is different than a freshly computed one!
        Current:
=============================--------------------------------
Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
  [1]  <<exit node>> {4294967295,4294967295} [0]
    [2] %lor.rhs {4294967295,4294967295} [1]
      [3] %for.cond221 {4294967295,4294967295} [2]
        [4] %entry {4294967295,4294967295} [3]
        [4] %lor.end {4294967295,4294967295} [3]
Roots: %lor.rhs 

        Freshly computed tree:
=============================--------------------------------
Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries.
  [1]  <<exit node>> {4294967295,4294967295} [0]
    [2] %lor.end {4294967295,4294967295} [1]
      [3] %lor.rhs {4294967295,4294967295} [2]
      [3] %for.cond221 {4294967295,4294967295} [2]
        [4] %entry {4294967295,4294967295} [3]
Roots: %lor.end 
opt: ../lib/Analysis/PostDominators.cpp:83: virtual void
llvm::PostDominatorTreeWrapperPass::verifyAnalysis() const: Assertion
`DT.verify(PostDominatorTree::VerificationLevel::Full)' failed.


Starts failing with 3e68a667047:

    [BPI][NFC] Reuse post dominantor tree from analysis manager when available

    Summary: Currenlty BPI unconditionally creates post dominator tree each
time. While this is not incorrect we can save compile time by reusing existing
post dominator tree (when it's valid) provided by analysis manager.

    Reviewers: skatkov, taewookoh, yrouban

    Reviewed By: skatkov

    Subscribers: hiraditya, steven_wu, dexonsmith, llvm-commits

    Tags: #llvm

    Differential Revision: <a href="https://reviews.llvm.org/D78987">https://reviews.llvm.org/D78987</a></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>