Compilation performance comparison of GCC 3.4.2 and GCC 4.0.0 (041024) on MICO sources

Kenneth Zadeck zadeck@naturalbridge.com
Mon Oct 25 19:37:00 GMT 2004



Jan Hubicka wrote:

>>On Mon, 25 Oct 2004, Jan Hubicka wrote:
>>
>>    
>>
>>>>>My bet: GC allocating lots and lots of bitmaps :-/
>>>>>          
>>>>>
>>>>Probably.
>>>>
>>>>Here's the interesting question:
>>>>If these bitmaps live over compilation, and we know exactly when they die
>>>>(cgraph_reset_static_var_maps), why the heck are they gc allocated?
>>>>        
>>>>
>>>Ineed ;)
>>>
>>>      
>>>
Part of this is my lack of understanding of what is really happening in 
cgraph* and how compilation proceed if multiple files are put on the 
command line. 

The bitmaps are live over the time that you compile a single file.  No 
one has actually explained to me how multiple files are compiled.  I 
just assumed that it was my responcibility to clean up before the next 
file was compiled.  Since the cgraph node where these bitmaps lives is a 
ggc data structure, I just assumed that all of the substructures inside 
it also had to be ggced also.

>>>Also the current usage of these bitsmaps is disabled and Kenny already
>>>has patch that reduce good amount of them when inlining takes place.
>>>We probably need to decide what to do about mainline - either disable
>>>collecting the information too or try harder to fix it.
>>>      
>>>
>>If his patch to fix this stuff up for the mainline (which was submitted 
>>and is awaiting review from you and diego, i believe, since it touches 
>>cgraph and tree-ssa) isn't accepted, we should probably disable it until 
>>4.1
>>    
>>
>
>We apparently went here into trouble with lack of maintainer
>understanding both areas.  I already told Kenneth that the cgraph
>changes are good but obvioiusly never did format approval, sorry for
>that.
>
>The cgraph bits are OK with the cgraph-* file renamed to ipa-* file 
>(the cgraph prefix for ipa optimizers is bit confusing and we already
>have both with ipcp code).  Thinking about it we probably want cgraph
>prefix only for the cgraph itself use ip/ipa/ipo prefix for the
>optimizers and analysis and ipa is already taken.
>
>But my understanding is that it (except for Diego's approval) still need
>fixing in the global variable initializers area, right?  I plan to at
>least apply the patch into tree-profiling branch once we sort out the
>inliner issues so we can make progress there.
>
>  
>
I am about to submit a patch to remove the code from the mainline 
because of the not finding all of the names issue.

I will address these things directly as I get this stuff put on the 
profiling branch.  My first concern is to get the code to be correct.  
Until I can find ALL of the variables, this is my overriding problem.


>Honza
>  
>
>> > > Honza
>>    
>>



More information about the Gcc mailing list