Hi, I have just upgraded our copy of llvm/clang to 3.4 release, in r261991. This version supports all of the features in the current working draft of the upcoming C++ standard, provisionally named C++1y.
The code generator's performance is greatly increased, and the loop auto-vectorizer is now enabled at -Os and -O2 in addition to -O3. The PowerPC backend has made several major improvements to code generation quality and compile time, and the X86, SPARC, ARM32, Aarch64 and SystemZ backends have all seen major feature work. Release notes for llvm and clang can be found here: <http://llvm.org/releases/3.4/docs/ReleaseNotes.html> <http://llvm.org/releases/3.4/tools/clang/docs/ReleaseNotes.html> Note that building lldb (using WITH_LLDB) will not work at this point, since our lldb snapshot was locally modified to be able to work with the old llvm 3.3 API. Ed Maste will most likely fix this very soon (and maybe import a new snapshot, I hope :-). Another important aspect for end-users and ports maintainers is the new compiler flag handling in clang 3.4. It has become more strict, in the sense that it will now error out on flags it does not recognize, in particular most gcc-specific optimization fine-tuning flags. Some ports which blindly use such gcc-specific flags will therefore be broken, but these are usually very easy to fix. During the exp-run which was done with this new version of clang, several ports with the highest number of dependent ports (open-motif, libtheora, boost-libs, etc) have already been handled, but more work still needs to be done. Last but not least, I hope we can now start using clang for more of our existing architectures, like powerpc, mips, and possibly even new ones like arm64. Enjoy! -Dimitry
Description: Message signed with OpenPGP using GPGMail