LLVM Weekly - #239, July 30th 2018
Welcome to the two hundred and thirty-ninth 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
GCC 8.2 has been released.
On the mailing lists
-
Kirill Bobyrev proposes moving the google-benchmark library into the main LLVM repository. It's currently included in libcxx and the test-suite, and clangd would now like to use it. Responses are positive so far.
-
Craig Topper starts a discussion on improving the performance of dot product reduction loops.
-
Philip Reames shares a couple of ideas for extensions of the loop unswitch cost model.
-
Alexandros Lamprineas is seeking feedback on re-enabling GVNHoist by default.
-
Matthew Arsenault starts a discussion about the behaviour of the llvm.minnum/llvm.maxnum intrinsics. He points out that the behaviour doesn't match IEEE-754 as the LangRef currently suggests. Stephen Canon helpfully clarifies recent changes to the IEEE-754 standard with respect to these operations.
LLVM commits
-
The MachineOutliner is now enabled by default under -Oz for AArch64. This offers an additional 4.5% code size improvements. r338133.
-
A new ArmCodeGenPrepare backend pass was added in order to perform type promotion on icmp operands. r337687.
-
The BPF backend gained a new
-bpf-expand-memcpy-in-order
option. r337977. -
MC support for the Armv8.2-A crypto extensions was added. r338010.
-
The RISC-V backend gained support for the 'interrupt' function attribute. r338047.
Clang commits
-
Clang learned to use non-zero memset when possible for automatic variables. r337887.
-
Clang's OpenMP documentation was updated to describe recent changes. r338049.
Other project commits
-
The compiler-rt profiling runtime is now supported on Fuchsia. r337881.
-
<span>
was implemented in libcxx. r337804. -
A design document was committed to libcxx for an upcoming
file_time_type
change. The described change, using__int128_t
was also committed this week. r337880, r337960. -
<filesystem>
was implemented in libcxx. The symbols are placed in libc++fs.a rather than libc++.so. r338093. -
The hotspot and srad kernels from the Rodinia benchmark were added to the LLVM test suite. r338168, r338169.