aboutsummaryrefslogtreecommitdiffstats
path: root/autoconf
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-10-05 22:19:20 +0000
committerChris Lattner <sabre@nondot.org>2003-10-05 22:19:20 +0000
commit69091be83bfcfcf52f9d0b1faba94675826607db (patch)
treea27996d2783dca9412b1708b3a328f7a02a84546 /autoconf
parent43f820d1f7638656be2158efac7dd8f5b08b8b77 (diff)
downloadexternal_llvm-69091be83bfcfcf52f9d0b1faba94675826607db.zip
external_llvm-69091be83bfcfcf52f9d0b1faba94675826607db.tar.gz
external_llvm-69091be83bfcfcf52f9d0b1faba94675826607db.tar.bz2
This changes the PromoteMemToReg function to create "pruned" SSA form, not
"minimal" SSA form (in other words, it doesn't insert dead PHIs). This speeds up the mem2reg pass very significantly because it doesn't have to do a lot of frivolous work in many common cases. In the 252.eon function I have been playing with, this doesn't even insert the 120 PHI nodes that it used to which were trivially dead (in the process of promoting 356 alloca instructions overall). This speeds up the mem2reg pass from 1.2459s to 0.1284s. More significantly, the DCE pass used to take 2.4138s to remove the 120 dead PHI nodes that mem2reg constructed, now it takes 0.0134s (which is the time to scan the function and decide that there is nothing dead). So overall, on this one function, we speed things up a total of 3.5179s, which is a 24.8x speedup! :) This change is tested by the Mem2Reg/2003-10-05-DeadPHIInsertion.ll test, which now passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8884 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'autoconf')
0 files changed, 0 insertions, 0 deletions