[PATCH][algorithmic] Fix PRs 30965 and 30978, make forwprop stronger and simpler
Richard Guenther
rguenther@suse.de
Fri Apr 27 14:51:00 GMT 2007
On Thu, 26 Apr 2007, Diego Novillo wrote:
> Richard Guenther wrote on 03/02/07 11:18:
>
> > PR tree-optimization/30965
> > PR tree-optimization/30978
> > * Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H).
> > * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove.
> > (find_equivalent_equality_comparison): Likewise.
> > (simplify_cond): Likewise.
> > (get_prop_source_stmt): New helper.
> > (get_prop_dest_stmt): Likewise.
> > (can_propagate_from): Likewise.
> > (remove_prop_source_from_use): Likewise.
> > (combine_cond_expr_cond): Likewise.
> > (forward_propagate_comparison): New function.
> > (forward_propagate_into_cond): Rewrite to use fold for
> > tree combining.
> > (tree_ssa_forward_propagate_single_use_vars): Call
> > forward_propagate_comparison to propagate comparisons.
> >
> > * gcc.dg/tree-ssa/pr30978.c: New testcase.
> > * gcc.dg/tree-ssa/bool-3.c: Remove XFAIL, explain why.
> > * gcc.dg/tree-ssa/ssa-fre-4.c: Use char instead of bool
> > * gcc.dg/strict-overflow-5.c: Adjust tree dump scanning.
>
> Nice cleanup. OK with:
>
> > ! /* Get the next statement we can propagate NAMEs value into skipping
>
> s/NAMEs/NAME's/
I have applied the patch after re-bootstrapping and testing on
x86_64-unknown-linux-gnu. But forgot the typo fix. I'll fix it in
a followup.
Richard.
More information about the Gcc-patches
mailing list