LLVM Weekly - #241, August 13th 2018
Welcome to the two hundred and forty-first 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
The Julia programming language has reached version 1.0. Congratulations to all contributors.
The NetBSD blog provides an introduction to µUBSan, a clean-room reimplementation of the Undefined Behavior Sanitizer runtime
Saar Raz reports that his out-of-tree implementation of C++ concepts proposal in Clang is now feature complete.
Bekket McClane has written a tutorial on writing a simple 'hello world' LLVM pass using the new pass manager.
On the mailing lists
-
Chijun Sima has written an end-of-GSoC report on implementing a single updater class for dominators as well as a summary of work to preserve the DominatorTree along the pipeline.
-
Charles Davis started a discussion about an x86-64 compilation mode that has an address space for 32-bit pointers to allow interoperability. Unfortunately discussion is split between llvm-dev and cfe-dev.
-
Sterling Augustine shared an RFC on switching to compiler-rt by default for x86-Linux. The RFC hasn't generated much discussion yet.
-
Stephen Kelly reports that the getStartLoc, getLocStart, and getLocEnd APIs are deprecated and will be removed in 4 weeks time. getBeginLoc and getEndLoc should be used instead.
-
Kenneth Casson Leighton started a discussion about supporting his proposed 'SimpleV' RISC-V vectorisation extension. This segued into concerns about supporting non-standard extensions with overlapping encodings, which Alex Bradbury responded to.
-
Anast Gramm shares and RFC on adding a DebugLoc parameter to Instruction's Create functions.
LLVM commits
-
The WebAssembly backend has a new stack-only instruction mode for its MC layer, which is used by default. r339474.
-
LLVM's Sphinx configuration now supports documentation written in Markdown. r338977.
-
The GuardWidening pass learned to widen guards with conditions of frequently taken dominated branches. r338988.
-
PhysRegSize was removed from MCRegisterClass. r339350.
-
The MCStatement tablegen class was introduced, which can currently support simple swith and return statements. r339352.
-
The coding standards and developer policy around whitespace was clarified. r339455.
Clang commits
-
Clang gained a new fixed point abstract type, similar to APInt in LLVM. r339028.
-
The getBeginLoc and getEndLoc APIs replace getLocStart, getStartLoc, and getLocEnd. r339372, r339374, r339385, r339386.
-
The GNUstep Objective-C ABI v2 now supports Windows. r339428.