diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-04 22:50:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-04 22:50:14 +0000 |
commit | f12f8def399c80aa283783ca406434ee2f80b49f (patch) | |
tree | c847cc8d36ac92059078a2e7b08c0c9f5bc9d697 /include/llvm/Analysis | |
parent | 0ec8df3d5fa526cf460d7c60c515f181de28ac95 (diff) | |
download | external_llvm-f12f8def399c80aa283783ca406434ee2f80b49f.zip external_llvm-f12f8def399c80aa283783ca406434ee2f80b49f.tar.gz external_llvm-f12f8def399c80aa283783ca406434ee2f80b49f.tar.bz2 |
rewrite the code used to construct pruned SSA form with the IDF method.
In the old way, we computed and inserted phi nodes for the whole IDF of
the definitions of the alloca, then computed which ones were dead and
removed them.
In the new method, we first compute the region where the value is live,
and use that information to only insert phi nodes that are live. This
eliminates the need to compute liveness later, and stops the algorithm
from inserting a bunch of phis which it then later removes.
This speeds up the testcase in PR1432 from 2.00s to 0.15s (14x) in a
release build and 6.84s->0.50s (14x) in a debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40825 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
0 files changed, 0 insertions, 0 deletions