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: Thoughts on LLVM and LTO


On Tue, Nov 22, 2005 at 05:58:14PM +0100, Steven Bosscher wrote:
> I thought it would basically "only" replace the GIMPLE parts of the
> compiler.  That is,
> 
> FE	-->	GENERIC	-->	LLVM	-->	RTL	--> asm
> (trees)		(trees)

This is certainly the only way to avoid losing functionality.

I worry that this path will bitrot as 99% of folk use the llvm
path straight through to assembly on i386.  But perhaps a config
option to force the rtl path, plus some automated testing, can
prevent that from happening too fast.

> It depends on who is going to invest these resources.  Would you want
> to tell Apple they can't do this even though they can? ;-)

No, but we also might want to let Apple work on this for a year
and then come back with something more concrete than "it should
be easy".

> A lot of work will have to go into debugging information even for GVM,
> because debug info will have to go through the IPA machinery also, i.e.
> be attached to the call graph, etc...

I think this view is not really correct.  The hard part about debug
info is pushing it through the optimizers.  This is where LLVM has
a huge amount of work to do.

For GVM, all it has to do is hold onto the debug info that we had
whe writing out the IL and read it back in.  This is trivial in
the context of the rest of IPA.

The biggest technical problem I see with LLVM is actually the debug
info.  Frankly, I'm not sure I even want to consider LLVM until
that's done.  If it's as easy as Chris and Danny make it out to be,
then they'll have it knocked off in short order.  If not ...

> The GVM plan could take years to get to that point...

Could, but probably won't.  I'd have actually guessed they could
have something functional, if not 100% robust, in 6 months given
2 or 3 people on the project.


r~


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