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/

Reply via email to