[Bug tree-optimization/21639] poisoned ggc memory used for -ftree-vectorize
dorit at il dot ibm dot com
gcc-bugzilla@gcc.gnu.org
Tue May 24 13:37:00 GMT 2005
------- Additional Comments From dorit at il dot ibm dot com 2005-05-24 12:54 -------
> Is there a rule that ggc_collect should not be called during loop
optimizations?
I don't know. (Zdenek?)
I think passes within the loop optimizer can assume that the scev information
cached in the scev htab can be safely used. During vectorization analysis some
new entries in the scev htab are initialized, and these are valid to be used by
subsequent passes. If no transformation takes place during vectorization then
there's no need to invalidate this information. So I don't think we're missing
a call to scev_reset in the vectorizer.
The problem is more likely around the fact that ggc_collect, for some reason
seems to free up data that is still pointed to from scalar_evolution_info.
> If you have some time to spare, use a --enable-checking=gcac compiler,
and the failure will likely happen much earlier.
thanks for the tip
> You have to make sure that ... the contents of
the scalar evolution hash table are reached during garbage collection.
any (other) hints on how to do that?
(by the way, I actually found a few places where don't properly free up
information in the vectorizer, but fixing those didn't solve this particular
problem).
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |rakdver at atrey dot karlin
| |dot mff dot cuni dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21639
More information about the Gcc-bugs
mailing list