On Tue, 1 Oct 2013, Bernhard Reutner-Fischer wrote:

> On 30 September 2013 14:19:01 Richard Biener <rguent...@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  <rguent...@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.

Reply via email to