LLVM Weekly - #278, April 29nd 2019
Welcome to the two hundred and seventy-eighth 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 [email protected], or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Videos from most talks at the 2019 EuroLLVM Developers' meeting are now available, including the keynote on MLIR.
On Red Hat's developer blog, Serge Guelton has an article on LLVM's Advanced Data Types and trivially copyable types.
On the mailing lists
-
Guillaume Chatelet posted an RFC on allowing efficient implementation of libc's memory functions in C/C++. Currently, you have to ensure that LLVM odesn't replace the implementation of a libc memory function with a call to itself.
-
Anja Gerbes is looking for more speakers for an LLVM session at the ISC-HPC conference.
-
Martin Storsjö is seeking advice on automatically saving and restoring x18 around function calls on AArch64. This is useful when running Windows ARM64 executables under Wine, as Windows treats x18 as a reserved register.
-
Alexandre Ganea wrote an RFC on supporting clang-cl /MP in order to improve compile-time performance.
-
Philip Reames proposes optimising TargetLibraryInfo getLibFunc lookups.
-
Rui Ueyama write an RFC on supporting mostly-concurrent symbol resolution in LLD.
-
Andrei Damian seeks advice on using libclang or libtooling for a transpiler.
LLVM commits
-
The AMDGPU backend started to gain support for gfx1010 r359113, r359139, r359225, r359316, and more.
-
LLVM gained support for the AArch64 MTE (Memory Tagging Extension) via intrinsics. r358963.
-
The DAGCombiner learned to apply most ADD combines to an OR operation in the case that the operands have no common bits set. r358965.
-
LLVM's support library gained a JSON streaming output API. r359186.
Clang commits
-
__builtin_is_constant_evaluated
was implemented for use in C++2a. r359067. -
MMX intrinsics were ported to PowerPC (using Altivec). r358949.
-
The behaviour of interaction of
__builtin_constant_p
andconstexpr
was updated to match trunk GCC. r359367. -
Clang gained support for the AArch64 MTE (Memory Tagging Extension) intrinsics. r359348.
-
clang-tidy gained a new llvm-prefer-isa-or-dyn-cast-in-conditionals checker. r359142.
Other project commits
-
The libcxxabi
cxa_guard
implementation was rewritten to use futexes and to avoid a global lock. r359060. -
The compiler-rt builtins were reformatted with clang-format, and aliases are now used for function redirects. r359410, r359411, r359413.
-
libcxx gained an implementation of
std::is_constant_evaluated
. r359119.