Rafael Espíndola - Re: Thoughts on LLVM and LTO (original) (raw)

This is the mail archive of the gcc@gcc.gnu.orgmailing 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]

The initial impression I get is that LLVM involves starting from scratch. I don't quite agree that this is necessary. One of the engineering challenges we need to tackle is the requirement of keeping a fully functional compiler while we improve its architecture. I don't think that it involves starting from scratch. If we write a LLVM -> GIMPLE converter the compilation process can look like GENERIC -> GIMPLE -> LLVM -> GIMPLE -> RTL

In a first stage nothing will be done with the LLVM representation except convert it back to GIMPLE. This will make sure that all necessary information (including debug) can pass through the LLVM. The conversion will also receive very good testing with this.

Latter the optimizations can be moved one by one and in a last stage the backend can also be replaced to work directly with LLVM. This has the advantage that only the last stage of the port is architecture dependent.

Rafael


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