[LLVMdev] LLVM / Elkhound / ARM

Chris Lattner sabre at nondot.org
Tue Oct 31 17:01:31 PST 2006

On Wed, 1 Nov 2006, Guillaume FORTAINE wrote:
>  I am French Engineer in Informatics and I would want to build a start
>  up to  manufacture mobile phones ( OEM level ). I am currently in discussion
> with investors.


> We would want to use LLVM as our main compiler but we will need to complete it
> to have a "commercial grade" one.


> Here are our goals :
> -Use a modified Elkhound as C/C++ front-end :
> http://www.cs.berkeley.edu/~smcpeak/elkhound/

As Reid mentioned, using llvm-gcc/g++ would make a lot more sense and be a 
lot easier to do.  If you don't like llvm-gcc/llvm-g++ for some 
reason, and have the resources, you could also couple the EDG C/C++ 
front-end to LLVM.

> -Complete the ARM back-end

This should not be terribly hard.  I believe it is still fairly early in 
development, but is high quality so far and could be easily/rapidly 
extended ifdesired.

> -Fix the bugs to be able to compile a complete Cross Linux from scratch for
> arm with uclibc-nptl.
> http://trac.cross-lfs.org/milestone/CLFS 3.0.0


> We believe that we will be able to speak of LLVM 2.0. :)
> How many people/much time ( full-time developers) are/is needed to success in
> this enterprise ?

It is hard to estimate specifics.  However, LLVM already is robust and is 
most of the way there.  If you choose to use llvm-gcc/llvm-g++4 (which 
would be wise), the magor missing thing is the ARM backend.

LLVM is been used to compile many large projects, including itself (which 
is ~400,000 lines of C++) and the Qt toolkit (another large C++ library). 
It has also been used to compile a large quantity of C code as well.  LLVM 
is in use by several commercial organizations.

> What is the best background they need to have to work on this ? ( C, gcc,
> lcc ? )

They need to be familiar with C++ programming, and they need to be 
familiar with the area they plan to contribute to (e.g. the ARM 
architecture).  The rest is relatively easy to pick up.

> It's a million dollars project and the stuff will be released under GPL.

Please consider licensing it under the current LLVM license, which is 
basically the BSD license without the advertising clause: 

If you choose not to release your code under this license, we will not be 
able to incorporate it into the mainline LLVM distribution, which would 
mean that you will incur a significant ongoing maintenance burden.

Welcome to the LLVM community,



More information about the llvm-dev mailing list