------- 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