On Tue, 2005-11-22 at 17:58 +0100, Steven Bosscher wrote: > On Tuesday 22 November 2005 17:20, Diego Novillo wrote: > > The initial impression I get is that LLVM involves starting from scratch. > > I thought it would basically "only" replace the GIMPLE parts of the > compiler. That is, > > FE --> GENERIC --> LLVM --> RTL --> asm > (trees) (trees) > > In the longer-term, you could maybe cut out the RTL part for targets > for which LLVM has its own backend. >
This was my impression as well. I certainly didn't think we'd throw out RTL anytime soon for anything else. Maybe nobody said this explicitly, so Diego thought some of us supported replacing the backends. That would slow you down years, and not even necessarily be better. > This is not less evolutionary or revolutionary than tree-ssa was IMHO. > > > > With our limited resources, we cannot really afford to go off on a > > multi-year tangent nurturing and growing a new technology just to add a > > new feature. > > 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? ;-) > As is the lack of clear agreements on who would control this project, > e.g. going with LLVM also means we'll have to shuffle our reviewers' > privileges a bit. After all, in the GCC community only Chris really > knows LLVM well enough Well, i'm familiar with a bunch of the optimizers in LLVM (I've contributed some patches), but not the code generation side. > -- so would that mean he'd get blanket approval > rights for the LLVM parts of the compiler? I assume if the technical issues were not issues, the SC would help to resolve these issues. You'd probably need some kind of transition for tree-ssa/etc maintainers to help maintain the appropriate parts of LLVM (assuming they wanted to), or else you'd end up very quickly with a logjam of patches to those areas, etc. Maintainership is based mainly on knowledge of design in the area (not code monkey ability), so i don't think this would be a huge problem. But this is all conjecture, political issues are best left to political people, which i am not. > > But what are the > > timelines? What resources are needed? > > Interesting questions. Both projects obviously will take significant > effort. But IIUC Chris has bits of the LLVM stuff already going, so > he has the head-start (like tree-SSA did when LLVM was introduced to > the GCC community, ironically? ;-) so maybe Chris can have a working > prototype implementation within, what, months? I think Apple hopes he will :) > The GVM plan could > take years to get to that point... > > So my dummy prediction would be that the LLVM path would result in a > reasonable product more quickly than the GVM plan -- iff RTL stays. > > Gr. > Steven >