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: Faster compilation speed


Aldy Hernandez wrote:
2) Make RTL/TREE layout less pointer driven.
For the clueless, ahem me, could you go into more detail on this?
When it comes to trees, these is normally (you guessed it) trees.
Tree can be represent much more compactly by linearizing them.
I.e. use polish notation.  This also increases locality of reference.

When it comes to RTL, these are basically simple doubly-linked lists.
Using a vector would be much more compact and probably faster.  Yes,
of course links are usefulr for re-arranging code, but there are
alternatives:
(1) Use a buffer with a gap, just like emacs uses.
(2) Each optimization pass just creates a fresh copy, like a copying
garbage collector.
--
	--Per Bothner
per@bothner.com   http://www.bothner.com/per/


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