summaryrefslogtreecommitdiff
path: root/lib/Analysis/PostDominators.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-08-04 22:50:14 +0000
committerChris Lattner <sabre@nondot.org>2007-08-04 22:50:14 +0000
commitf12f8def399c80aa283783ca406434ee2f80b49f (patch)
treec847cc8d36ac92059078a2e7b08c0c9f5bc9d697 /lib/Analysis/PostDominators.cpp
parent0ec8df3d5fa526cf460d7c60c515f181de28ac95 (diff)
downloadllvm-f12f8def399c80aa283783ca406434ee2f80b49f.tar.gz
llvm-f12f8def399c80aa283783ca406434ee2f80b49f.tar.bz2
llvm-f12f8def399c80aa283783ca406434ee2f80b49f.tar.xz
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 'lib/Analysis/PostDominators.cpp')
0 files changed, 0 insertions, 0 deletions