[patch] conditional store elimination
Diego Novillo
dnovillo@google.com
Thu Sep 6 21:49:00 GMT 2007
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.
More information about the Gcc-patches
mailing list