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

Reply via email to