LLVM Weekly - #79, Jul 6th 2015 ============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/79>. Welcome to the seventy-ninth issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by [Alex Bradbury](http://asbradbury.org). Subscribe to future issues at <http://llvmweekly.org> and pass it on to anyone else you think may be interested. Please send any tips or feedback to <asb at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. Last week I was in Berkeley for the second RISC-V conference. If you weren't able to make it, worry not because I liveblogged both [day one](http://www.lowrisc.org/blog/2015/06/second-risc-v-workshop-day-one/) and [day two](http://www.lowrisc.org/blog/2015/06/second-risc-v-workshop-day-two/). ## News and articles from around the web Stephen Cross has [released llvm-abi](http://article.gmane.org/gmane.comp.compilers.clang.devel/43502), a library for generating LLVM IR that complies with platform ABIs. This is a [rather cute implementation of Tetris in C++ header files](http://blog.mattbierner.com/stupid-template-tricks-super-template-tetris/), compatible with Clang. ## On the mailing lists * Kevin Atkinson [asks whether to use MCJIT or ORCJIT](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87565). It sounds like [ORC is working out well for the LLILC team](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87600). * Chandler Carruth has kicked off a [discussion about the AliasAnalysis update interface](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87469) and what should be done about it. * In response to a question, Evgeny Astigeevich has given a useful guide to [finding the control dependence graph](http://article.gmane.org/gmane.comp.compilers.llvm.devel/87416). * Manuel Klimek [is updating the LLVM Phabricator install](http://article.gmane.org/gmane.comp.compilers.clang.devel/43558). ## LLVM commits * The initial skeleton of the WebAssembly backend has been committed. It is not yet functional. [r241022](http://reviews.llvm.org/rL241022). * DIModule metadata nodes have been introduced. A DIModule is meant to be used to record modules importaed by the current compile unit. [r241017](http://reviews.llvm.org/rL241017). * New exception handling intrinsics have been added for recovering and restoring parent frames. [r241125](http://reviews.llvm.org/rL241125). ## Clang commits * Clang gained support for the x86 builtin `__builtin_cpu_supports`. [r240994](http://reviews.llvm.org/rL240994). * The Clang man pages have been converted to Sphinx (from .pod). [r241037](http://reviews.llvm.org/rL241037). ## Other project commits * libcxx gained `shared_mutux`. [r241067](http://reviews.llvm.org/rL241067). * LLD has gained some generally applicable optimisations. e.g. devirtualizing SymbolBody and compacting its in-memory representation. [r241001](http://reviews.llvm.org/rL241001). * LLD's COFF linker can now link a working 64-bit debug build of Chrome. chrome.dll takes 24 seconds (vs 48 seconds for linking it with MSVC). [r241318](http://reviews.llvm.org/rL241318). * LLDB grew an example of scripted steps in Python. [r241216](http://reviews.llvm.org/rL241216).