|WANTED: One good retargettable compiler back end email@example.com (Kim Lux) (2005-12-08)|
|Re: WANTED: One good retargettable compiler back end firstname.lastname@example.org (Ian Lance Taylor) (2005-12-08)|
|Re: WANTED: One good retargettable compiler back end email@example.com (Uncle Noah) (2005-12-08)|
|Re: WANTED: One good retargettable compiler back end firstname.lastname@example.org (glen herrmannsfeldt) (2005-12-11)|
|Re: WANTED: One good retargettable compiler back end email@example.com (2005-12-29)|
|From:||Kim Lux <firstname.lastname@example.org>|
|Date:||8 Dec 2005 02:33:42 -0500|
|Posted-Date:||08 Dec 2005 02:33:42 EST|
We are attempting to retarget the sdcc ( http://sdcc.sourceforge.net/)
open source compiler to a new processor. (Freescale 68HC9S12X)
We looked at gcc, but think it is much better suited to general
purpose processors rather than 8/16 bit processors with limited
registers, Harvard memory maps, etc.
Sdcc has a good front end. It supports C with a number of extensions
associated with using it on "small devices". It is fairly widely used
and well tested. The sdcc front end generates "iCode" as its linkage
to the back end.
Sdcc's back end is less than stellar. Sdcc supports about half a
dozen devices. Each back end has been hand coded. Register
allocation is hit and miss. Optimization success varies from target
I'm looking for a replacement open source back end that is easily
retargetable to a number of different SMALL DEVICE processors.
To date, the best potential solutions I've seen is VPO. (
http://www.cs.virginia.edu/zephyr/vpo/ ) Unfortunately, VPO is NOT
open souce. Here is a very interesting paper on using vpo with a
small device: compiler.snu.ac.kr/papers/cases01-6.pdf
The thing I like about VPO is its use of rtl as the input to the
backend, during optimization, during register assignment and during
opcode selection. GCC uses rtl, but not quite like VPO does.
I've looked at TACK ( http://sourceforge.net/projects/tack/ ) It is an
interchangeable back end but writing another back end for a new
processor appears to be a lot of work and optimization is done in the
universal assembly language. I think optimization would be easier
with an rtl, where it mostly becomes arithmetic reduction and pattern
Does anyone know of any other open source backends for sdcc ?
Is anyone interested in developing a VPO like backend ?
Kim Lux, Diesel Research Inc.
Return to the
Search the comp.compilers archives again.