LLVM Weekly - #257, December 3rd 2018
Welcome to the two hundred and fifty-seventh 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 EuroLLVM call for participation is out. Talks, tutorials, student research competition entries, lightning talks, birds of a feather sessions, and posters are all encouraged. The submission deadline is January 13th. EuroLLVM will be held in Brussels on April 8th-9th.
On Wednesday 12th December, the Zurich LLVM Compiler Social will host a talk from Sebastian Ullrich "Towards Lean 4: An Optimized Object Model for an Interactive Theorem Prover". Register on meetup.com if you'd like to attend.
On the mailing lists
-
Gábor Horváth has written up an RFC on implementing Lifetime Analysis. As proposed by Herb Sutter, this would diagnose many common cases of user-after free in C++ code.
-
Piotr Padlewski has a new RFC on adding a 'supported optimizations' attribute.
-
Oliver Stannard has written an RFC on checking inline assembly for validity. He follows up to explain why he thinks this belongs in the assembler parser rather than the frontend.
-
Daniel Sanders has updated his thread on tablegen-erated GlobalISel combine rules with examples rewritten to use DAGs.
-
Brian Gesiak proposes that bugpoint should be willing to look for 'opt' in the same directory as the bugpoint executable rather than just the PATH.
-
Francesco Ptrogalli proposes re-implementing
-fveclib
with OpenMP.
LLVM commits
-
Support was added for profile-driven cache prefetching on X86. r347596.
-
A new stack safety analysis was implemented. It determines if stack allocated variables can be considered "safe" from memory access bugs and can be used by sanitizers to avoid unnecessary instrumentation. r347612.
-
TableGen gained basic support for preprocessing directives (ifdef/else/endif/define). r347686.
-
InstSimplify learned to fold a select with an implied condition. r347896.
-
PatFrag predicate code can now access captured operands. r347992.
-
Codegen was implemented for cmpxchg on RISC-V RV32IA. This finishes the series of patches providing new target-independent hooks for late expansion of atomics as described in this RFC. r347914, r347971.
Clang commits
-
All analyzer config options will now be evaluated before analysis, allowing better error reporting. r348031, r348038.
-
clang-tidy got better at flagging narrowing conversions. r347570.