LLVM Weekly - #164, Feb 20th 2017
Welcome to the one hundred and sixty-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 https://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.
News and articles from around the web
Sources and binaries for LLVM 4.0.0-rc2 are now available. Get testing!
The next LLVM social in Berlin will be held on February 23rd.
The next LLVM social in Belgium will be held on the 6th of March.
The NetBSD Foundation has a new blog post summarising recent changes to LLDB for NetBSD support.
Manu Sánchez has blogged about writing AST matchers for libclang.
Version 5 of the DWARF debugging standard has been released.
On the mailing lists
-
Would you be interested in an LLVM social in Sweden or in Italy? If so, speak up!
-
Quentin Colombet has clarified the plan for moving forwards with GlobalISel.
-
Ayalk Zaks and Gil Rapaport are seeking feedback on 'VPlan', a model for vectorisation that hopes to capture all vectorisation decisions. A PDF detailing VPlan is available here.
-
Zachary Turner has written up on RFC on adding a new stream abstraction to LLVM. The proposed ThinStream gives a read-only API that encourages zero-copy access, while WritableThinStream allows writing. There are also variants that allow reading and writing of semantic data rather than raw bytes.
-
Mehdi Amini kicked off discussion on what sort of criteria LLVM should use to rank proposed student projects.
-
Steven Perron has written an RFC on representing unions in TBAA.
-
Witold Waligora has proposed JumpMaps, a variant/generalisation of JumpTables.
-
Martell Malone has proposed a new dlltool replacement for LLVM, and is looking for feedback.
-
Alex Bradbury has written an RFC about setting FrameSetup/FrameDestroy MachineInstr flags when spilling or restoring callee-saved registers. We'd really welcome further feedback from debuginfo experts.
LLVM commits
-
Support for "debug counters" was added. This is a tool to help narrow down miscompilation to a particular transformation from the command-line. r295595.
-
The default threshold for full loop unrolling has been increased for the O3 optimisation level, meaning more loops will be unrolled. r295538.
-
Documentation on LLVM's type-based alias analysis metadata has seen a sizable update. r294999.
-
Tablegen DAGGenISelDAG gained a new feature to aid debugging instruction selection. r295081.
-
MachineBlockPlacement learnt to better layout trellis-shaped CFGs. r295223.
-
Support for the Cavium ThunderX ARM64 processors (including a scheduler) was added. r295475.
Clang commits
-
The number of UBSan-inserted null checks on C++ object pointers has been significantly reduced. r295391.
-
Clang's code completion now recognises the previously missing C++11 keywords. r295001.
-
C++1z class template argument deduction is now considered 'done'. r295011.
-
The new readability-misleading-indentation checker will warn if indentation around unbraced if/else statements may be misleading (and likely indicate programmer error). r295041.