LLVM Weekly - #83, Aug 3rd 2015 ============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/83>. Welcome to the eighty-third 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 The CodeChecker static analysis infrastructure built on Clang Static Analyzer [has been released](https://github.com/Ericsson/codechecker). The [slides](http://llvm.org/devmtg/2015-04/slides/Clang_static_analysis_toolset_final.pdf) from the talk at EuroLLVM earlier this year give a good overview. LLVM/Clang 3.7 RC2 [has been tagged](http://article.gmane.org/gmane.comp.compilers.clang.devel/44237). Time to get testing. The implementation of the [Picon](https://github.com/anssi-fr/picon) Control Flow Integrity protection mechanism has been released. See also the associated paper [Picon: Control Flow Integrity on LLVM IR](https://www.sstic.org/media/SSTIC2015/SSTIC-actes/control_flow_integrity_on_llvm_ir/SSTIC2015-Article-control_flow_integrity_on_llvm_ir-fontaine_chifflier_coudray_esfrDAl.pdf). ## On the mailing lists * There is a plan to [jump to Windows 7 as the baseline requirement for LLVM](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88947), which has been featured in LLVM Weekly previously many months ago. If such a move would cause a problem for you, now is the time to speak up. There's also a proposal to [drop support for the old mingw.org toolchains](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88959) in favour of the maintained mingw-w64. * James Molloy has prototyped [LoopEditor](http://reviews.llvm.org/D11530), a high-level API for loop transformations in LLVM and is [seeking additional feedback](http://article.gmane.org/gmane.comp.compilers.llvm.cvs/260989). The hope is that existing loop transformations could be rewritten and simplified to use it. * Easwaran Raman has shared an [RFC on speedup estimation for inlining cost analysis](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88929). The idea is that the estimated speedup (reduction in dynamic instruction count) from performing the inlining should be used as part of the cost metric. * Chris Bieneman has penned a [CMake in LLVM roadmap](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88859) and [July CMake update](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88858). There's even [hope the autoconf build system might be marked deprecated before the 3.8 branch](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88906). * Peter Collingbourne has shared a [proposal for arbitrary relocations in constant global initialisers](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88856). * Try not to panic, but the LLVM mailing lists [will be down on August 4th](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88811) as they will be moving off the UIUC servers. Additionally, SVN access will be read-only and the LLVM bugzilla will be down. * Mehdi Amini has issued a [helpful notice for out-of-tree maintainers](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88793) on the removal of RegisterScheduler::setDefault. * Lang Hames has written a [whirlwind introduction to implementing lazy JITting support for a new architecture in Orc](http://article.gmane.org/gmane.comp.compilers.llvm.devel/88773). * Michael Schlottke-Lakemper kicked off a discussion on the possibility of [using lldb.so to create a stack trace](http://article.gmane.org/gmane.comp.debugging.lldb.devel/7802). Respondents pointed out a number of possible choices, including using the `llvm::sys::printStackTrace()` function. ## LLVM commits * A new exception handling representation has been introduced for MSVC compatibility. The commit includes the appropriate updates to the LLVM language reference. [r243766](http://reviews.llvm.org/rL243766). * A test to check bitcode compatibility has been added. This will help ensure the bitcode format produced by an X.Y release is readable by the following X.Z releases. [r243779](http://reviews.llvm.org/rL243779). * The lli documentation has been updated and now better explains its purpose. [r243401](http://reviews.llvm.org/rL243401). * LLVM gained a target-independent thread local storage (TLS) implementation. [r243438](http://reviews.llvm.org/rL243438). * A `reverse(ContainerTy)` range adapter was added. [r243581](http://reviews.llvm.org/rL243581). ## Clang commits * The method for emitting metadata for loop hint pragmas has been modified, using CGLoopInfo. [r243315](http://reviews.llvm.org/rL243315). * Clang learned to pass `-Wa,-mfpu`, `-Wa,-mhwdiv`, and `-Wa,-mcpu` to the integrated assembler. [r243353](http://reviews.llvm.org/rL243353). * Initial support for Open MP 4.1's extended ordered clause was added. [r243635](http://reviews.llvm.org/rL243635). ## Other project commits * lldb is starting to gain support for indicating when you are debugging a function that has been optimized. [r243508](http://reviews.llvm.org/rL243508).