This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] conditional store elimination


On 8/28/07, Michael Matz <matz@suse.de> wrote:

> this patch fixes PR middle-end/27313 and thereby a performance problem on
> 456.hmmer (which now runs in 798 instead of 1080 seconds, i.e. 26%
> improvement).  We talked about how to integrate this better with if
> conversion and make it also do load hoisting, but I fear we won't get to
> that during the time left for stage 2, and meanwhile I'd really like to
> have that improvement in 4.3.

Will you work on merging this with if-conversion post-4.3?  I'm not
too keen on adding yet-another-flag, but if the improvement of this is
compelling enough I guess it shouldn't matter too much.


> +/* The hash table for remembering what we've seen.  */
> +static htab_t seen_ssa_names;
> +/* The set of INDIRECT_REFs which can't trap.  */
> +static struct pointer_set_t *nontrap_set;

Spacing before second comment.

> +      /* If we've found a trapping INDIRECT_REF, _and_ it dominates us

s/us/EXP/

> +         (is in a basic block on the path from us to the dominator root)

s/is/it's/

> +        then we can't trap.  */
> +      if (found_bb && found_bb->aux == (void *)1)
> +       {
> +         pointer_set_insert (nontrap, exp);
> +       }
> +      else
> +        {
> +         /* We might trap, so insert us into the hash table.  */

s/We/EXP/
s/us/EXP/


The rest looks fine.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]