I would want to know what are the main differences between LLVM and C--.
In general, C-- is an interesting piece of research code that has little to do with LLVM anymore. C--'s strengths are it support for tail calls and automatic GC (which LLVM supports, but not as well) which are mostly useful for functional languages.
C--'s weakness is it's incompleteness (missing many major features), instability/bugginess, poor performance (both time to compile and the generated code), lack of high-level optimizations, lack of ABI compatibility with the native tools, lack of C++ frontend support, and the small size of its community.
In contrast, LLVM is (almost) fully feature-complete in terms of C/C++ language features and GNU extensions, is robust (being used by several commercial organizations), has leading edge high-level optimizations, is ABI compatible with the rest of the system, supports C/C++/ObjC, and has a medium sized community that is growing all the time.
To get a balanced perspective, you should probably ask the C-- people what they think.
We need a robust compiler ( or at least the most promising to work on it ) with these features :
-A GLR parser (use a modified Elkhound as C/C++ front-end):
Elkhound and Elsa
Neither C-- nor LLVM provide this. Why do you need a GLR parser specifically?
-Complete the ARM back-end
-To be able to compile a complete Cross Linux from scratch for
arm with uclibc-nptl.
C-- doesn't have *any* real C or C++ front-end, AFAIK.