[PATCH] Fix PR58554
Richard Biener
rguenther@suse.de
Wed Oct 2 07:54:00 GMT 2013
On Tue, 1 Oct 2013, Bernhard Reutner-Fischer wrote:
> On 30 September 2013 14:19:01 Richard Biener <rguenther@suse.de> wrote:
> >
> > This fixes PR58554, pattern recognition in loop distribution now
> > needs to check whether all stmts are unconditionally executed.
> >
> > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.
> >
> > Richard.
> >
> > 2013-09-30 Richard Biener <rguenther@suse.de>
> >
> > PR tree-optimization/58554
> > * tree-loop-distribution.c (classify_partition): Require
> > unconditionally
> > executed stores for memcpy and memset recognition.
> > (tree_loop_distribution): Calculate dominance info.
> >
> > * gcc.dg/torture/pr58554.c: New testcase.
> >
> > Index: gcc/tree-loop-distribution.c
>
> > *************** out:
> > *** 1719,1724 ****
> > --- 1723,1729 ----
> > {
> > if (!cd)
> > {
> > + calculate_dominance_info (CDI_DOMINATORS);
> > calculate_dominance_info (CDI_POST_DOMINATORS);
> > cd = new control_dependences (create_edge_list ());
> > free_dominance_info (CDI_POST_DOMINATORS);
>
> Don't you have to free CDI_DOMINATORS too now, somewhere?
Not unless they become invalid. We preserve dominators across
passes (unlike post-dominators, because those are not kept up-to-date
by CFG manipulation functions).
Richard.
More information about the Gcc-patches
mailing list