summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Dominators.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
commitedce70d2fe48d5134baaa50db1c311d02ee275ae (patch)
treea91ae561253f86ac67a4b244441174ae939edbef /llvm/lib/VMCore/Dominators.cpp
parentd91576b01ed1a5426df1c79a1a1235f4436aa271 (diff)
downloadbcm5719-llvm-edce70d2fe48d5134baaa50db1c311d02ee275ae.tar.gz
bcm5719-llvm-edce70d2fe48d5134baaa50db1c311d02ee275ae.zip
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. llvm-svn: 40825
Diffstat (limited to 'llvm/lib/VMCore/Dominators.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud