[llvm-bugs] [Bug 31895] New: LVI should use PredicateInfo, ideally
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Feb 7 13:45:45 PST 2017
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: unassignedbugs at nondot.org
Reporter: dberlin at dberlin.org
CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170207/3a2c5dab/attachment.html>
More information about the llvm-bugs
mailing list