LLVM Weekly - #74, Jun 1st 2015
Welcome to the seventy-fourth 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.
You may be interested in the second RISC-V workshop, which will be held in Berkeley June 29-30. Early bird registration ends today, but academics can register for free. My colleague Wei and I will be there representing lowRISC.
The canonical home for this issue can be found here at llvmweekly.org.
News and articles from around the web
MPI-Checker, a static analysis tool for MPI code has been released. It is of course implemented using Clang's Static Analyzer framework.
The LLVM-HPC2 workshop will be held on November 15th, co-located with SC15. The call for papers has been published. Submissions are due by September 1st.
On the mailing lists
The discussion about improving LLD has resumed. Rui Ueyama has written about his recent patch for a section-based PE/COFF linker. Sean Silva argues that refactoring might be a better approach.
Hans Wennborg has shared a preliminary release plan for LLVM/Clang 3.7. This would see the codebase branched on the 14th of July with a release target of the end of August. Tom Stellard has also shared a schedule for the 3.6.2 release. The deadline for patches is June 15 with the release date targeted for June 29th.
Teresa Johnson has posted an updated RFC of her ThinLTO implementation plan. There are still concerns about the wrapping of LLVM bitcode in ELF. Alex Rosenberg suggests implementing an objcopy replacement for LLVM and extending bitcode as necessary as an alternative approach.
Chris Bieneman has posted a status update on the quest to replace the autoconf build system with CMake.
Quentin Colombet is seeking benchmark reports (or indeed bugs!) for the recently added 'shrink wrapping'.
Matthias Braun has left a quick note for maintainers of out-of-tree targets that pristine register semantics have been modified slightly.
Chandler Carruth has posted some thoughts on next steps for loop unrolling analysis.
LLVM commits
Codegen for memcpy on Thumb2 has been improved to make use of load/store multiple (more details of how this works in the commit message, worth a read for those interested). r238473.
Popcount on x86 will now be implemented using a lookup table in register technique. r238636, r238652.
Work continues on reducing peak memory usage through optimisations to debug info. r238364.
Initial support for the
convergent
attribute has landed. r238264.The documentation about the current state of LLVM's Phabricator has been updated along with a call for volunteers to help develop necessary improvements and modifications to Phabricator's PHP codebase. r238295.
MCJIT gained support for MIPS64r2 and MIPS64r6. r238424.
Clang commits
Clang's handling of
-fopenmp
has been rewritten. r238389.The user documentation on profiling has been extended. r238504.
Other project commits
A new PE/COFF section-based linker has been added to lld. This follows on from discussions about the direction of lld and whether it makes sense to build on top of the atom model. The linker is able to self-link on Windows and is significantly faster than the current implementations (1.2 seconds vs 5 seconds, even without multi-threading). It also takes only 250MB of RAM to self-link vs 2GB. r238458.
LLDB on Windows can now demangle Linux or Android symbols. r238460.