LLVM Weekly - #83, Aug 3rd 2015
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. 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@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
The CodeChecker static analysis infrastructure built on Clang Static Analyzer has been released. The slides from the talk at EuroLLVM earlier this year give a good overview.
LLVM/Clang 3.7 RC2 has been tagged. Time to get testing.
The implementation of the Picon Control Flow Integrity protection mechanism has been released. See also the associated paper Picon: Control Flow Integrity on LLVM IR.
On the mailing lists
There is a plan to jump to Windows 7 as the baseline requirement for LLVM, 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 in favour of the maintained mingw-w64.
James Molloy has prototyped LoopEditor, a high-level API for loop transformations in LLVM and is seeking additional feedback. 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. 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 and July CMake update. There's even hope the autoconf build system might be marked deprecated before the 3.8 branch.
Peter Collingbourne has shared a proposal for arbitrary relocations in constant global initialisers.
Try not to panic, but the LLVM mailing lists will be down on August 4th 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 on the removal of RegisterScheduler::setDefault.
Lang Hames has written a whirlwind introduction to implementing lazy JITting support for a new architecture in Orc.
Michael Schlottke-Lakemper kicked off a discussion on the possibility of using lldb.so to create a stack trace. 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.
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.
The lli documentation has been updated and now better explains its purpose. r243401.
LLVM gained a target-independent thread local storage (TLS) implementation. r243438.
A
reverse(ContainerTy)
range adapter was added. r243581.
Clang commits
The method for emitting metadata for loop hint pragmas has been modified, using CGLoopInfo. r243315.
Clang learned to pass
-Wa,-mfpu
,-Wa,-mhwdiv
, and-Wa,-mcpu
to the integrated assembler. r243353.Initial support for Open MP 4.1's extended ordered clause was added. r243635.
Other project commits
lldb is starting to gain support for indicating when you are debugging a function that has been optimized. r243508.