Using LLVM to compile LLVM?

Hi,

I'm curious...Can LLVM compile LLVM? And if so, why don't we use LLVM to compile itself? Why use gcc?

I guess doing it this way could make it hard to fix some bugs, since those bugs would be in the compiler you're using for development as well. But it seems that LLVM is developed/robust enough at this point that there's a core of it we can use for development work while we fix/extend the rest. Is this a feasible idea?

Rob

Robert L. Bocchino Jr.
Ph.D. Student
University of Illinois, Urbana-Champaign

I'm curious...Can LLVM compile LLVM?

Yes, configure llvm with CC=llvmgcc and CXX=llvmg++

And if so, why don't we use LLVM to compile itself? Why use gcc?

Primarily because llvm doesn't yet support full debugger info.

I guess doing it this way could make it hard to fix some bugs, since those bugs would be in the compiler you're using for development as well. But it seems that LLVM is developed/robust enough at this point that there's a core of it we can use for development work while we fix/extend the rest. Is this a feasible idea?

Yes definitely. Bootstrapping a compiler is a very important test of stability and other things. LLVM has in the past done this and I have no reason to think it wouldn't work now. OTOH, I'm not aware of anyone actively doing this on a regular basis.

-Chris