Alex Bradbury via llvm-dev
2018-Dec-03 20:35 UTC
[llvm-dev] LLVM Weekly - #257, December 3rd 2018
LLVM Weekly - #257, December 3rd 2018 ==================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/257>. 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](https://www.linkedin.com/in/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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web The EuroLLVM [call for participation](http://lists.llvm.org/pipermail/llvm-dev/2018-November/128105.html) 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](https://www.meetup.com/llvm-compiler-and-code-generation-socials-zurich/events/vxmqlqyxqbrb/) 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](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060355.html). 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](http://lists.llvm.org/pipermail/llvm-dev/2018-December/128178.html). * Oliver Stannard has written an RFC on [checking inline assembly for validity](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127968.html). He follows up to explain [why he thinks this belogns in the assembler parser](http://lists.llvm.org/pipermail/llvm-dev/2018-November/128007.html) rather than the frontend. * Daniel Sanders has updated his thread on tablegen-erated GlobalISel combine rules with [examples rewritten to use DAGs](http://lists.llvm.org/pipermail/llvm-dev/2018-November/128009.html). * Brian Gesiak [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-November/128139.html) 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](http://lists.llvm.org/pipermail/llvm-dev/2018-November/128134.html) re-implementing `-fveclib` with OpenMP. ## LLVM commits * Support was added for profile-driven cache prefetching on X86. [r347596](https://reviews.llvm.org/rL347596). * 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](https://reviews.llvm.org/rL347612). * TableGen gained basic support for preprocessing directives (ifdef/else/endif/define). [r347686](https://reviews.llvm.org/rL347686). * InstSimplify learned to fold a select with an implied condition. [r347896](https://reviews.llvm.org/rL3447896). * PatFrag predicate code can now access captured operands. [r347992](https://reviews.llvm.org/rL347992). * 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](https://lists.llvm.org/pipermail/llvm-dev/2018-June/123993.html). [r347914](https://reviews.llvm.org/rL347914), [r347971](https://reviews.llvm.org/rL347971). ## Clang commits * All analyzer config options will now be evaluated before analysis, allowing better error reporting. [r348031](https://reviews.llvm.org/rL348031), [r348038](https://reviews.llvm.org/rL348038). * clang-tidy got better at flagging narrowing conversions. [r347570](https://reviews.llvm.org/rL347570). ## Other project commits * A CMake build system was added for libclc. [r347667](https://reviews.llvm.org/rL347667). * dynarray was removed from libcxx as there are no longer plans for it to be standardised. [r347783](https://reviews.llvm.org/rL347783).