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

            Bug ID: 31895
           Summary: LVI should use PredicateInfo, ideally
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Scalar Optimizations
          Assignee: unassignedb...@nondot.org
          Reporter: dber...@dberlin.org
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

LVI currently has issues where it tries to determine per-block values because
the value has the same name everywhere.

These are all examples of what predicateinfo solves, and using it, if possible,
would greatly simplify and speedup LVI.

For example, LVI currently requires the overdefined cache be per-block, so it
can try to evaluate the value in each block.  With predicateinfo, each block
value that matters to LVI has a different name in that block, so you don't need
to do this.

In practice, overdefined anywhere should be overdefined everywhere, and having
it per-block just makes certain testcases hundreds of times slower as they try
to propagate overdefined info.

So changing this,for example, speeds up LVI by 10x in some cases.

Currently it's fast enough that i'm putting this to the side, but ...

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to