From my own tests and from what I've read of others GCC still generates the fastest code, that is even without optimizations such as PGO which llvm lacks, however clang/llvm compiles quite a bit faster (sure, some of it may have to do with not optimizing quite as well as gcc) and the error reporting is imo superior.

The great thing is that clang adopted gcc's flags etc so it should work as a drop-in replacement. And as such there's no need for anyone to put all their eggs in one basket, not even on a per project basis. You can (or atleast will be able to once clang has sufficient compability) use them interchangeably and harness the strenghts of each compiler where it suits you.

Based on what metric? I'm not saying it isn't, as GCC is a very mature and robust compiler suite, with many many years of development behind it, but I'm sure it isn't better in every metric. Unless you're trolling, in which case, MSVC is better than GCC.

Well, GCC is a compiler collection (which is what the CC stands for). GCC has a fair number of supported languages and target architectures.

... whereas I can't find any information on what machine architectures are supported, so I would presume it is only x86 and x86_64.

So in terms of at least the metric "what it supports", GCC takes quite some beating.

Yes gcc supports more architectures and the same goes for languages and I doubt this is going to change anytime soon since llvm's language/architecture support direction is largely that of Apple's which shows in their clang/llvm's history c->objc->c++ .

As for frontends, llvm was piggybacking on gcc with llvm-gcc for quite some time while clang was maturing but llvm-gcc has been deprecated now for the dragonegg plugin which allows you to use llvm as a backend for gcc (from gcc 4.5 onwards iirc).