While you haven't provided enough details to comment in length, I do have some experience with what you're planning. A couple of years back I started a programming system (XPS) which was rather audacious in scope. After two years of working on it, I realized that I too needed a "back end" compilation system. I looked at various alternatives like GCC (too complex), research compilers (low quality), open source virtual machines like Mono (immature at the time). I was quite surprised when I looked at UIUC's LLVM compiler toolkit. I thought it would be just another half-baked compiler system from a University that never got finished when the Ph.D student left. Instead, I found a well designed, working, *toolkit* for compiler construction. While LLVM still lacks some features, its core is very solid and easily extensible. I've been working with it for a year now and its been quite a pleasure. Check it out at http://llvm.cs.uiuc.edu/
Bootstrapping is an issue for LLVM, but not as large an issue as some are trying to make out. One of the backend machines supported by LLVM is a "C" backend. That is, we can translate our IR to C code. This has been working for years now.
While GCC provides a path to new machines for LLVM today, the long range plan is to have an LLVM based C++ compiler that needs nothing from GCC. When that happens, the bootstrapping plan will be:
Compile a subset of LLVM (just enough to correctly compile/run C++ programs) to C code on a supported platform by using the "C" backend
Move the C code to the new platform
Compile the LLVM "C" code to get a C++ compiler on the new platform
Move all of LLVM C++ code to the new platform and compile
Just thought you should know what the plan is for bootstrapping LLVM.
Andreas(R):
While you haven't provided enough details to comment in length, I do have some experience with what you're planning. A couple of years back I started a programming system (XPS) which was rather audacious in scope. After two years of working on it, I realized that I too needed a "back end" compilation system. I looked at various alternatives like GCC (too complex), research compilers (low quality), open source virtual machines like Mono (immature at the time). I was quite surprised when I looked at UIUC's LLVM compiler toolkit. I thought it would be just another half-baked compiler system from a University that never got finished when the Ph.D student left. Instead, I found a well designed, working, *toolkit* for compiler construction. While LLVM still lacks some features, its core is very solid and easily extensible. I've been working with it for a year now and its been quite a pleasure. Check it out at http://llvm.cs.uiuc.edu/
Bootstrapping is an issue for LLVM, but not as large an issue as some are trying to make out. One of the backend machines supported by LLVM is a "C" backend. That is, we can translate our IR to C code. This has been working for years now.
While GCC provides a path to new machines for LLVM today, the long range plan is to have an LLVM based C++ compiler that needs nothing from GCC. When that happens, the bootstrapping plan will be:
Just thought you should know what the plan is for bootstrapping LLVM.