On Mon, Nov 02, 2020 at 01:32:52PM -0700, scott andrew franco wrote:
For the GPC authors
So this could be considered either a proposal or a question, your choice.
Recently, for various reasons I have been studying the LLVM project (mainly because I am now forced to use LLVM on the Mac OS X). As I am sure you know, LLVM is becoming popular as a backend. For example, I believe FPC now uses it.
An interesting thing about LLVM is that they bent over backwards to make sure it was as compatible as possible with previous GCC methods, components and front-ends, with an eye to making it easy to port existing front ends to LLVM.
Actually, LLVM started as alternative optimizer for gcc. IIUC it never had all features needed for various gcc frontends. Currently compatibility features with gcc frontends seem to be phased out (or gone). IIUC Jonas wrote the same...
So I think you can guess where I am going with this. The GPC group dropped the GPC project mainly because GCC had changed and the requirements to meet the new GCC backend were too large to meet for the GPC group (WRT: Quo vas GPC).
That is simplified point of view. At least for me it was a set of reasons. More accurate statement would be that I decided to pursue another projects instead of adapting GPC to new backends. Put it differently: for me gain/effort ratio was too small. And let me remark that old backends work for me (with rather crude patch for contemporary Debian).
Might that have changed with the introduction of LLVM? It would seem that the GPC front end would be a perfect match for LLVM, and the problems with upgrading to the current GCC backend may be solved with using LLVM as backend?
In case I did not mention this earlier: one of my students used LLVM as a backend for compiler project. In about 2-3 years his compiler was broken by changes to LLVM and he gave up.