Quest for more targets

Is anyone working on supporting additional targets used in embedded systems.

I am particularly interested in two:

1. TI MSP430. TI MSP430 - Wikipedia
    A nice very low power 16-bit machine with a PDP-11-like instruction set. We can assume the PIC16 developers have found and fixed all the 32-bit assumptions in the code base.
   Newer versions, the MSP430X series, have extended addressing and 20-bit registers! This complication could be addressed later (perhaps never).

2. ARM Cortex M3.
    This is a Thumb2-only architecture. It would be nice if it were supported separately from the rest of the ARM stuff, since that code base is now so complicated as to be nearly unreadable to mere mortals.

1. TI MSP430. TI MSP430 - Wikipedia

I'm also very interested in an msp430 backend. I had been considering seeing if I could hack out a first draft over winter break. This would be very useful to one of my students who is currently stuck doing things in gcc. The msp430 port of gcc is not closely maintained and seems quite buggy.

2. ARM Cortex M3.

This would be great too.

I'd also like to see an AVR port.

For targets with limited code size (i.e. all of these) the LLVM inliner needs to be brought under control. I know how to do it but may not be able to make time.

My sense is that LLVM could be an extremely strong embedded compiler without too much work.

John Regehr

Tilera is interested in seeing a backend for the Tile64 processor, if there’s anyone using that system on this list.


John Regehr wrote:

I'd also like to see an AVR port.

We (at our university, with the support from a few avr-gcc maintainers)
will attempt to write an AVR back-end for LLVM. If you are interested
please drop me a mail so we can coordinate efforts.


Any progress on the TI MSP430 target?

Patches are welcome.