[llvm-bugs] [Bug 46098] New: "PostDominatorTree is different than a freshly computed one!" with opt -branch-prob -instcombine -block-freq -verify-dom-info

via llvm-bugs llvm-bugs at lists.llvm.org
Wed May 27 06:19:52 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=46098

            Bug ID: 46098
           Summary: "PostDominatorTree is different than a freshly
                    computed one!" with opt -branch-prob -instcombine
                    -block-freq -verify-dom-info
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Global Analyses
          Assignee: unassignedbugs at nondot.org
          Reporter: mikael.holmen at ericsson.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 23540
  --> https://bugs.llvm.org/attachment.cgi?id=23540&action=edit
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: https://reviews.llvm.org/D78987

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200527/16011571/attachment.html>


More information about the llvm-bugs mailing list