LLVM Weekly - #60, Feb 23rd 2015 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/60>. Welcome to the sixtieth 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. ## News and articles from around the web LLVM/Clang 3.6.0-rc4 is [now available for testing](http://article.gmane.org/gmane.comp.compilers.clang.devel/41432/). A new LLVM-based tainted flow analysis tool [has been created](http://article.gmane.org/gmane.comp.compilers.llvm.devel/82660/). It's a tool designed to help detect timing attack vulnerabilities. An [online demo](http://cuda.dcc.ufmg.br/flowtracker/) is available. The March bay-area LLVM social [will take place on Thursday 5th March](http://article.gmane.org/gmane.comp.debugging.lldb.devel/6599/), along with the Game Developer's Conference. The Cambridge LLVM social will take place [on Wednesday 25th Feb](http://article.gmane.org/gmane.comp.compilers.clang.devel/41374/). HHVM, the optimised PHP virtual machine from Facebook [plan to integrate an LLVM-based optimisation phase](http://hhvm.com/blog/8405/coming-soon-in-hhvm). ## On the mailing lists * Lefteris Ioannidis has [introduced himself](http://article.gmane.org/gmane.comp.compilers.llvm.devel/82321) on the mailing list. He is working on propagating parallelism at the IR level, with a hope to ultimately upstream his work. He's interested in chatting to anyone working in this area. * Eric Fiselier [asks when libc++ can list Linux as an officially supported platform](http://article.gmane.org/gmane.comp.compilers.clang.devel/41444/). * Hans Wennborg is [asking for people to flesh out the 3.6 release notes](http://article.gmane.org/gmane.comp.compilers.clang.scm/117060) with more details. * Hayden Livingston is working on a tool to help understand how LLVM IR changes after optimization passes are run and [wonders about adding a new API to support this use case](http://article.gmane.org/gmane.comp.compilers.llvm.devel/82398). Greg Fitzgerald points to his [handy diffdump tool](https://github.com/garious/diffdump). * Bruce Mitchener suggests [adding SWIG bindings to LLDB for JS and other languages](http://article.gmane.org/gmane.comp.debugging.lldb.devel/6570). * Zephyr Zhao has [shared his work on a GUI frontend to LLDB](http://article.gmane.org/gmane.comp.debugging.lldb.devel/6546). ## LLVM commits * The coding standards document has been updated now that MSVC 2012 support has been dropped. [r229369](http://reviews.llvm.org/rL229369). * The Orc API continues to evolve. The JITCompileCallbackManager has been added to create and manage JIT callbacks. [r229461](http://reviews.llvm.org/rL229461). * A new pass, the bit-tracking dead code elimination pass has been added. It tracks dead bits of integer-valued instructions and removes them when all bits are set. [r229462](http://reviews.llvm.org/rL229462). * The SystemZ backend now supports all TLS access models. [r229652](http://reviews.llvm.org/rL229652), [r229654](http://reviews.llvm.org/rL229654). * A new pass for constructing gc.statepoint sequences with explicit relocations was added. The pass will be further developed and bugfixed in-tree. [r229945](http://reviews.llvm.org/rL229945). * The old x86 vector shuffle lowering code has been removed (the new shuffle lowering code has been the default for ages and known regressions have been fixed). [r229964](http://reviews.llvm.org/rL229964). * A new bitset metadata format and lowering pass has been added. In the future, this will be used to allow a C++ program to efficiently verify that a vtable pointer is in the set of valid vtable pointers for the class or its derived classes. [r230054](http://reviews.llvm.org/rL230054). ## Clang commits * clang-format gained support for JS type annotations and classes. [r229700](http://reviews.llvm.org/rL229700), [r229701](http://reviews.llvm.org/rL229701). * Most of the InstrProf coverage mapping generation code has been rewritten. [r229748](http://reviews.llvm.org/rL229748). * Clang learnt how to analyze FreeBSD kernel printf extensions. [r229921](http://reviews.llvm.org/rL229921). * Support has been added to Clang for a form of Control Flow Integrity for virtual function calls. It verifies the vptr of the correct dynamic type is being used. [r230055](http://reviews.llvm.org/rL230055). ## Other project commits * ThreadSanitizer gained support for MIPS64. [r229972](http://reviews.llvm.org/rL229972). * lldb now supports process language on Android from lldb-gdbserver. [r229371](http://reviews.llvm.org/rL229371). * OpenMP gained a new user-guided lock API. [r230030](http://reviews.llvm.org/rL230030).