[LLVMdev] LLVM / Elkhound / ARM
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 :
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
> -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