Jeff Law <l...@redhat.com> wrote: >On 01/10/14 10:03, Paulo Matos wrote: >> >> >> Paulo Matos >> >> >>> -----Original Message----- >>> From: Richard Biener [mailto:richard.guent...@gmail.com] >>> Sent: 10 January 2014 13:25 >>> To: Paulo Matos >>> Cc: gcc@gcc.gnu.org >>> Subject: Re: Useless statement in loop latch looks like performance >regression >>> >>> Most likely changes to SSA coalescing at out-of-SSA time like >>> >>> 2013-09-26 Richard Biener <rguent...@suse.de> >>> >>> * tree-ssa-live.c (var_map_base_init): Handle SSA names >with >>> DECL_IGNORED_P base VAR_DECLs like anonymous SSA names. >>> (loe_visit_block): Use gcc_checking_assert. >>> * tree-ssa-coalesce.c (create_outofssa_var_map): Use >>> gimple_assign_ssa_name_copy_p. >>> (gimple_can_coalesce_p): Adjust according to the >var_map_base_init >>> change. >>> >>> and an earlier patch by Jeff Law. >> >> You're right, I tracked it down to this one: >> >> Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4> >> Date: Fri Jun 14 18:52:32 2013 +0000 >> >> * gimple.h (gimple_can_coalesce_p): Prototype. >> * tree-ssa-coalesce.c (gimple_can_coalesce_p): New function. >> (create_outofssa_var_map, coalesce_partitions): Use it. >> * tree-ssa-uncprop.c (uncprop_into_successor_phis): >Similarly. >> * tree-ssa-live.c (var_map_base_init): Use TYPE_CANONICAL >> if it's available. >> >> * gcc.dg/tree-ssa/coalesce-1.c: New test. >More aggressive coalescing can, in some cases, be detrimental. That's >inherent in coalescing. I'm open to suggestions on heuristics to >improve things.
He was looking for the patch that improved things, so nothing to fix for you ;-) Richard. >jeff