This is the mail archive of the gcc-patches@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: [dataflow]: PATCH COMMITTED to improve compile time and space.


> This patch addresses two compile time issues and one compile space issue.
> 
> 1) Alloc_pool has been modified so that it does not immediately kill the
> cache whenever it needs a new block from the os.  This was caused by
> immediately
> formatting the block onto the free list, a process that touched the
> entire block.
> Now, there are two free lists,  the returned_free_list handles objects
> that have been returned from the client.  The virgin_free_list holds the
> latest block obtained from the os, and formats it as needed. 
> 
> This speeds up compilation on one of my machines by 1 to 2 percent. 
> Your mileage will vary.  I also played around with increasing the
> pool_sizes of various alloc pools.  Before this change, this was a
> definite loosing proposition.   However, it has been hard for me to find
> a stable enough platform to test this, and the gain will again vary a
> lot by architecture.
> 
> 2) The marked bitmap was changed to an sbitmap since this bitmap will
> generally be mostly full.
> 
> 3) The ur df problem and the live df problem have been merged.  This
> saves two bitmaps per basic block.  It may save a little time, but
> mostly this was a space move.  As it turns out there was only one
> remaining place that used the output of the ur problem directly and this
> was easily changed to use live. 
> 
> This has been bootstrapped and regression tested on x86-64, x86-32, ppc
> and ia-64.
> 
> Honza, could you please run the memtester on this again?

Memtester is switched to dataflow branch from yesterday night, I will
wait for tomorrow so it gets to your patch and then switch back.

Thanks
Honza


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