A few days looking into LLVM + Clang, I really liked how they are set up and how they work. I played with the IR code and JIT a little bit, then I realized that Clang and LLVM don’t support auto vectorization (as of current release 2.8). Yes, the IR language supports vectorization through the vector type. But to auto vectorize a loop is not possible right now. I’ll have to find out whether the GCC front end with LLVM will generate auto vectorized loops. The Clang front end is still work in progress in the Polyhedral Transformation project. Clang is bundled with Xcode since version 3.1 (I believe). Maybe that’s why for iPhone/iOS development, Xcode still uses GCC as the primary compiler.
Yesterday I checked out LLVM’s svn source tree, but someone’s commit broke the CMake build. I fixed my local build and submitted a patch to the LLVM commit mailing list. 7 hours later, a LLVM developer said, oh, someone already patched the code. There were about 60 commits in the last 24 hours. That just says how active the LLVM community is.