LLVM Weekly - #271, March 11th 2019

Welcome to the two hundred and seventy-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 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.

News and articles from around the web

David Malcolm has written a piece for the Red Hat blog detailing the impressive usability and diagnostics improvements in GCC 9. As Chris Lattner suggests, there's plenty of opportunity for similar improvements to be made to Clang.

The next ETH Zurich compiler social will be held on the 14th March, featuring talks on latency sensitive GC for the JVM and safe execution of LLVM IR on the JVM.

LLVM 8.0.0-rc4 has been tagged. A fifth release candidate will likely be needed.

Readers may be interested in slides from the 7th March Sheffield Go meetup on "Live coding a basic Go compiler with LLVM in 20 minutes".

On the mailing lists

LLVM commits

OptRemarks (optimization remarks) have been renamed to "Remarks", reflecting they are useful beyond just optimization. r355439.

The RISC-V backend learned to handle the -target-abi option to llvm-mc and llc, setting the appropriate ELF flags on the output. r355771.

The X86 backend gained a fix so that when EmitLoweredSelect encounters multiple CMOV pseudo instructions, it will skip debug intrinsics (meaning codegen isn't altered for -g . r355307.

llvm-mca learned to print information about throughput bottlenecks when given the -bottleneck-analysis option. r355308.

Function pointer alignment is now added to datalayout. r355685.

The optimiser can now convert calls to memcmp in to calls to bcmp in some cases. r355672.

Clang commits

Options for context-sensitive PGO were added to Clang. r355331.

The clang-headers target was renamed to clang-resource-headers. r355340.

Initial support was added for the OpenMP 5.0 'allocate' directive. r355614.

Other project commits