[llvm-bugs] [Bug 41240] New: [CompileTime] Speed up SSA renaming
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Mar 26 08:24:42 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=41240
Bug ID: 41240
Summary: [CompileTime] Speed up SSA renaming
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: florian_hahn at apple.com
CC: llvm-bugs at lists.llvm.org
Currently LLVM does not do SSA renaming as efficiently as it could do. In some
places, like Mem2Reg, we use custom renaming implementations and at other
places we use SSAUpdater, which has to traverse the CFG for each renamed
variable, to decide where to place PHIs.
For bulk updates, like in Mem2Reg, we could use merge sets as described in Das
and Ramakrishna's paper (Dibyendu Das and U. Ramakrishna. 2005. A practical and
fast iterative algorithm for φ-function computation using DJ graphs) to
efficiently find the points where PHI nodes are needed, rather than using IDF,
which potentially has to traverse the full CFG for each variable.
This can be combined with a renamer similar to the one in PredicateInfo, which
does renaming in O(log(Uses to rename)).
The related PRs will be sped up by this infrastructure.
--
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/20190326/3ccdf0a3/attachment.html>
More information about the llvm-bugs
mailing list