[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