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: [tree-ssa] Syntactic structures


On Sat, 2003-08-02 at 21:43, Pop Sébastian wrote:

> With the current status of things one should keep two representations,
> the cfg and the syntax tree, synchronized.  A modification in one 
> representation have to update the other representation.  This is redundant.
> 
Right.  This is what I was referring to when I mentioned performance.
IMO, the duality of the data structures needs to disappear.  A single
data structure (the CFG) physically containing sequences of tree or RTL
statements is what I would like us to move to.

In the meantime, we built an API for the tree optimizers to operate on
the underlying trees and provide a CFG + statement sequences data
structure.  All the tree optimizers use the flowgraph, the statement
iterators and the operand arrays as their central representation.  

Granted, this is C and some of the physical aspects of the underlying
tree structure do escape here and there, but for the most part,
optimizers just see the program as a collection of basic blocks with
sequences of statements in them.

The goal has always been to redesign the tree IL to have better physical
properties, but we are taking an evolutionary approach.  With the
current setup, that redesign can be done more or less independently of
the optimizers.

Several ideas have been proposed about this issue, but to date I don't
think anybody has implemented any of them.  Perhaps this would be a good
time to rehash the ideas again and get something going.


Diego.


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