There's usually a gap between how an author sees his project in his mind's eye, and the project in reality. Lattner is no different. He clearly has a slightly exaggerated sense of LLVM's virtues and GCC's vices, and a diminished sense of LLVM's vices and GCC's virtues. I'm not trying to equivocate LLVM and GCC, but if you read the substance of his descriptions closely, there's less of a gap than his adjectives and qualifiers suggest.
So rather than judge the code by reading an article, judge the code by reading the code.