Richard Guenther writes:
I would propose to even think of doing only IPO at LLVM and go back to
gimple for the rest of the tree-ssa pipeline. At least that should be
possible. Would we get link-time optimization this way, or is the LLVM
link-time optimization architected differently?
Sure, given an LLVM -> GIMPLE translator, this would certainly work. One thing
that is useful to keep in mind is the desire to perform scalar optimizations
before IPO. With translators both ways, you could choose to make these
optimizations be either tree-ssa or LLVM (or a mix).
Also, integrating LLVM addresses the weakness of our middle-end IR, but
stays with this IR for our frontends.
One important aspect of this work is that it changes tree structures into
something that are only used by the front-end, not the optimizers. Because of
that, it is corresondingly easier to change trees, and making them work really
well for front-ends could be a follow-on project.
Only the Ada frontend seems to be in a state to maybe support direct frontend
IR to LLVM translation.
Sure, also maybe Fortran?
-Chris
--
http://nondot.org/sabre/
http://llvm.org/