Home > Archive > Compilers > February 2006 > Back end generator alternatives?
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Back end generator alternatives?
|
|
|
| Are there good back end generator outside of BEG. I done some research
and have been only able to find a few which are:
Burg, New Jersey Machine-Code Toolkit and some company in France that I
cant recall (possibly PAGODE?).
From my research BEG appears to be a great product but I emailed the
company to find out about their product BEG and Firm. I got no
response to a few emails so I called them in Germany. I was told the
product could be from $10-25k depending upon the level of optimization
I wanted. Based on google searches I found the cost over the years
was anywhere from $250 to $2000. I'd like to use a backend generator
to save myself time and frustration. I want the best but at the same
time I'm not trying to get taken for a ride.
iBurg was used in the LCC compiler seemed like an excellent option. I
love what Fraser & Hanson have done over the years with their
generator but it isnt comercially available.
Thanks,
W.
[The iBurg license approximately says you can use it and use the
result in a commercial product with attribution. If that's not what
you plan to do, write to the authors and see if you can come to
terms. -John]
| |
| Uncle Noah 2006-01-28, 7:05 pm |
| iburg is a possible choice if you can get good licensing terms. It is
not very hard to write an .md file (machine description) similar to
those already available in LCC (actually LCC mds contain LCC-specific
procedures as well). The MIPS backend is probably a good start. Further
some additional backends for LCC exist on the web but are included in
the distribution. I recall backends for PDP11, ARM and probably 2-3
others.
Writing machine descriptions in most other retargetable compilers is
much harder (e.g. gcc, Machine-SUIF to name a few). You should look for
BSD-like licenses (or even LGPL) they are much more liberal.
Nikolaos Kavvadias
| |
| Vladimir Makarov 2006-01-31, 7:59 am |
| Mr.E wrote:
> Are there good back end generator outside of BEG. I done some research
> and have been only able to find a few which are:
>
> Burg, New Jersey Machine-Code Toolkit and some company in France that I
> cant recall (possibly PAGODE?).
>
You could use NONA which is part of COCOM toolset http://cocom.sf.net
Its description can be found on http://cocom.sourceforge.net/nona.html
IMHO, it is more flexible than IBURG plus it can work on DAG not only
on trees. It was used in serious projects like extended Pascal
cross-compiler implementation.
COCOM itself is distributed under GPL.
| |
| Helmut Emmelmann 2006-02-01, 3:58 am |
| Mr.E wrote:
> From my research BEG appears to be a great product but I emailed the
> company to find out about their product BEG and Firm. I got no
> response to a few emails so I called them in Germany. I was told the
> product could be from $10-25k depending upon the level of optimization
> I wanted. Based on google searches I found the cost over the years
> was anywhere from $250 to $2000. I'd like to use a backend generator
> to save myself time and frustration. I want the best but at the same
> time I'm not trying to get taken for a ride.
I fear you prices for compiler built with BEG with BEG itself
(Could you give an URL?). An early research version of BEG, generating
Modula-2, was available in binary form free of charge. It's more than
ten years old now. Since then we have developed BEG into a commercial
product, generating C, with many more features. Pricing depends on
options, desired optimization modules, amount of training and other
services, and pricing model (runtime royalties vs. flat fee); which
can add up to more than 25k.
Your emails apparently got eaten by our overeager spamfilter.
My sincere apologies.
>
> iBurg was used in the LCC compiler seemed like an excellent option. I
> love what Fraser & Hanson have done over the years with their
> generator but it isnt comercially available.
iBurg is a free implementation of code selectors very similar to BEGs
see [1]. BEG, however, generates complete back ends including local
and/or global register allocation, instruction scheduling, DAG
matching for SSA, and other optimizations etc.
iBurg is good at what it's doing. You, however, have to do
register allocation and other back end / optimization stuff yourself.
Helmut Emmelmann
[1] Christopher W. Fraser and David R. Hanson and Todd A. Proebsting:
Engineering Efficient Code Generators Using Tree Matching and Dynamic
Programming, TR-386-92, 1992
|
|
|
|
|