Skip to content
  • Chris Lattner's avatar
    This changes the PromoteMemToReg function to create "pruned" SSA form, not · c30f22f5
    Chris Lattner authored
    "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.
    
    llvm-svn: 8884
    c30f22f5
Loading