This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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




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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]