This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/21639] poisoned ggc memory used for -ftree-vectorize
- From: "paolo dot bonzini at lu dot unisi dot ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 May 2005 11:59:47 -0000
- Subject: [Bug tree-optimization/21639] poisoned ggc memory used for -ftree-vectorize
- References: <20050518001348.21639.janis@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From paolo dot bonzini at lu dot unisi dot ch 2005-05-24 11:59 -------
Subject: Re: poisoned ggc memory used for -ftree-vectorize
>Paolo, is the above solution ok with you? If so, I'll go ahead and prepare a
>patch. Alternatively, if ggc_collect is really required here, then adding a
>call to scev_reset() would also solve the problem (again, in tree-complex.c):
>
>
Is there a rule that ggc_collect should not be called during loop
optimizations?
If not, you should not have to modify my pass since it is only showing
the problem by doing TODO_ggc_collect. You have to make sure that
scev_reset is called at the appropriate time, or that the contents of
the scalar evolution hash table are reached during garbage collection.
In other words, Janis is correct saying that this is a latent bug.
Doing a TODO_ggc_collect after lower_vector_ssa may be overkill, and I'm
ok with removing it, but then you are only papering over the real problem.
If you have some time to spare, use a --enable-checking=gcac compiler,
and the failure will likely happen much earlier.
Paolo
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21639