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] use VEC instead of varray in data dependence analysis


On 3/29/06, Sebastian Pop <sebpop@gmail.com> wrote:
> On 3/29/06, Richard Guenther <richard.guenther@gmail.com> wrote:
> > > this is a no-no, as VEC_safe_push modifies the VEC _pointer_(!!!!) v,
> > > so you need
> > > to pass a VEC **v here... (and it's not even documented that you need
> > > to do this...)
> >
>
> here is a patch to correct this problem.  Bootstrap in progress (stage2).
> I will commit this patch after testing.

You missed a lot more functions which are called f.i. from the vectorizer:

Program received signal SIGSEGV, Segmentation fault.
0x08789267 in free_dependence_relation (ddr=0x10)
    at /space/rguenther/src/svn/gcc/gcc/tree-data-ref.c:4320
4320      if (DDR_ARE_DEPENDENT (ddr) == NULL_TREE && DDR_SUBSCRIPTS (ddr))
(gdb) up
#1  0x087892ad in free_dependence_relations (dependence_relations=0x8a10738)
    at /space/rguenther/src/svn/gcc/gcc/tree-data-ref.c:4336
4336        free_dependence_relation (ddr);
(gdb) print *dependence_relations
$1 = {base = {num = 3085693744, alloc = 3085693744, vec = {0x89af538}}}
(gdb) up
#2  0x08699046 in destroy_loop_vec_info (loop_vinfo=0x8a377c8)
    at /space/rguenther/src/svn/gcc/gcc/tree-vectorizer.c:1487
1487      free_dependence_relations (LOOP_VINFO_DDRS (loop_vinfo));
(gdb) bt
#0  0x08789267 in free_dependence_relation (ddr=0x10)
    at /space/rguenther/src/svn/gcc/gcc/tree-data-ref.c:4320
#1  0x087892ad in free_dependence_relations (dependence_relations=0x8a10738)
    at /space/rguenther/src/svn/gcc/gcc/tree-data-ref.c:4336
#2  0x08699046 in destroy_loop_vec_info (loop_vinfo=0x8a377c8)
    at /space/rguenther/src/svn/gcc/gcc/tree-vectorizer.c:1487
#3  0x086a09e9 in vect_analyze_loop (loop=0x8a72460)
    at /space/rguenther/src/svn/gcc/gcc/tree-vect-analyze.c:2004
#4  0x0869ae9a in vectorize_loops (loops=0x8a0ee58)
    at /space/rguenther/src/svn/gcc/gcc/tree-vectorizer.c:2040
#5  0x08684349 in tree_vectorize ()

This is one of the Polyhedron ICEs with -O3 -ftree-vectorize
-ffast-math -funroll-loops.

Richard.


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