- Go is created by google
- Ian Lance Taylor, the author of gccgo, works for Google
- Taylor has worked on gcc for more than a decade
- Google uses gcc for all its infrastructure
I doubt they would object to an LLVM front-end, and I'm sure someone will create one in the future.
As to why Google doesn't use LLVM, the generated code is simply not as fast as GCC. Google (last I heard) employs about 30 compiler engineers to support gcc internally, so they're not about to switch over to a less mature platform, even though it shows great potential.
I was initially a bit surprised that Google chose not to use the Low-Level Virtual Machine (LLVM) compiler framework—it has a lot of LLVM expertise internally and is using it extensively for their awesome Python optimization effort. Pike says that LLVM was considered during the early stages of the Go project, but its compile-time performance was judged to be inadequate.
Interesting. Google uses gcc for all its C++ code internally, and I would say that it has way more gcc expertise internally than LLVM. I heard some figures once that each extra percent of performance they get out of gcc is worth $1m dollars per product, for each of their 10 most important products. I think that's per year. (eg a 4% improvement in the speed of gcc-compiled code would save them $40m a year).
As to why Google doesn't use LLVM, the generated code is simply not as fast as GCC. Google (last I heard) employs about 30 compiler engineers to support gcc internally, so they're not about to switch over to a less mature platform, even though it shows great potential.