On Saturday 03 December 2005 20:43, Mark Mitchell wrote:
There is one advantage I see in the LTO design over LLVM's
design. In
particular, the LTO proposal envisions a file format that is
roughly at
the level of GIMPLE. Such a file format could easily be extended
to be
at the source-level version of Tree used in the front-ends, so that
object files could contain two extra sections: one for LTO and one
for
source-level information. The latter section could be used for
things
like C++ "export" -- but, more importantly, for other tools that need
source-level information, like IDEs, indexers, checkers, etc.
I actually see this as a disadvantage.
IMVHO dumping for "export" and front-end tools and for the optimizers
should not be coupled like this. Iff we decide to dump trees, then I
would hope the dumper would dump GIMPLE only, not the full front end
and middle-end tree representation.
Sharing a tree dumper between the front ends and the middle-end would
only make it more difficult again to move to sane data structures for
the middle end and to cleaner data structures for the front ends.