This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] fix SPEC ICE - violating loop-closed-form in the vectorizer






> Hello,
>
> > On Thu, Mar 31, 2005 at 06:50:23PM +0200, Dorit Naishlos wrote:
> >
> > >       * tree-flow.h (loop_closed_split_exit_edge): New function
> > >       declaration.
> > >       * tree-ssa-loop-manip.c (loop_closed_split_exit_edge):
> > >       New function.
> > >       * tree-vect-analyze.c (vect_analyze_loop_form): Call
> > >       loop_closed_split_exit_edge instead of loop_split_edge_with.
> > >
> > OK.
>
> tree-ssa-loop-manip.c:split_loop_exit_edge?
>

exactly what I need, thanks! (I was grepping for "loop_split"...)
Here's the updated patch to use the existing utility.
Bootstrapped and tested the vectorizer tests + SPEC on powerpc-darwin.
I'll go ahead and commit since the original patch was approved.

thanks,
dorit


Changelog:
      * tree-vect-analyze.c (vect_analyze_loop_form): Call
      split_loop_exit_edge instead of loop_split_edge_with.

Index: tree-vect-analyze.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-vect-analyze.c,v
retrieving revision 2.15
diff -c -3 -p -r2.15 tree-vect-analyze.c
*** tree-vect-analyze.c 29 Mar 2005 16:09:58 -0000      2.15
--- tree-vect-analyze.c 4 Apr 2005 08:51:16 -0000
*************** vect_analyze_loop_form (struct loop *loo
*** 2436,2442 ****
        edge e = loop->single_exit;
        if (!(e->flags & EDGE_ABNORMAL))
        {
!         loop_split_edge_with (e, NULL);
          if (vect_print_dump_info (REPORT_DETAILS, loop_loc))
            fprintf (vect_dump, "split exit edge.");
        }
--- 2436,2442 ----
        edge e = loop->single_exit;
        if (!(e->flags & EDGE_ABNORMAL))
        {
!         split_loop_exit_edge (e);
          if (vect_print_dump_info (REPORT_DETAILS, loop_loc))
            fprintf (vect_dump, "split exit edge.");
        }


> Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]