[PATCH]: Speed up SSA-CCP

Diego Novillo dnovillo@redhat.com
Sat May 22 21:00:00 GMT 2004


On Sat, 2004-05-22 at 09:06, Daniel Berlin wrote:
> This speeds up SSA-CCP by moving more things to VARYING in one step 
> instead of two.
> Kenneth Zadeck said it was worth about 30-40% performance in their 
> compiler.
> SSA-CCP is already fast in our compiler, but it can't hurt to make it 
> faster (this patch can't ever slow it down, since it can only lessen 
> the number of iterations it takes to finish the algorithm, not increase 
> it).
> 
> 
> 2004-05-22  Daniel Berlin  <dberlin@dberlin.org>
>        Kenneth Zadeck <zadeck@naturalbridge.com>
> 
>     * tree-ssa-ccp.c (varying_ssa_edges): New worklist.
>     (add_var_to_ssa_edges_worklist): Add value argument.
>     Update callers.
>     Use new worklist.
>     (tree_ssa_ccp): Use new worklist.
>
It looks good.  Some questions before adding it:

     1. Please factor out the loop that goes through the edge lists, so
        that the main iteration loop in tree_ssa_ccp() calls
        process_edge_list (ssa_edges) and process_edge_list
        (varying_ssa_edges).
     2. Is Kenneth's copyright assignment already on file?
     3. Could you add a small example that illustrates how the new list
        speeds up the demotion to VARYING?
     4. Any timings worth mentioning?


Thanks.  Diego.



More information about the Gcc-patches mailing list