[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