This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH]: Speed up SSA-CCP
On May 22, 2004, at 12:24 PM, Diego Novillo wrote:
On Sat, 2004-05-22 at 09:06, Daniel Berlin wrote:
This speeds up SSA-CCP by moving more things to VARYING in one stepIt looks good. Some questions before adding it:
instead of two.
Kenneth Zadeck said it was worth about 30-40% performance in their
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
2004-05-22 Daniel Berlin <firstname.lastname@example.org>
Kenneth Zadeck <email@example.com>
* tree-ssa-ccp.c (varying_ssa_edges): New worklist.
(add_var_to_ssa_edges_worklist): Add value argument.
Use new worklist.
(tree_ssa_ccp): Use new worklist.
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
2. Is Kenneth's copyright assignment already on file?
He doesn't need one (he didn't directly write any of this code, but he
still deserves credit for it), but he would be covered by Apple's
3. Could you add a small example that illustrates how the new list
speeds up the demotion to VARYING?
4. Any timings worth mentioning?On three test cases where CCP took ~3 seconds, it now takes 1.8, 2.3,
and 1.7 seconds
I didn't bother timing incredibly large pieces of code :)