Alex Bradbury via llvm-dev
2018-Sep-17 19:14 UTC
[llvm-dev] LLVM Weekly - #246, September 17th 2018
LLVM Weekly - #246, September 17th 2018 ====================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/246>. Welcome to the two hundred and forty-sixth 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 GCC/LLVM Shenzhen social planned for 16th September has been [rescheduled](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126081.html) to October 20th or 21st due to hurricane Shanzhu. Stephen Kelly has written a blog post on [recent Clang API changes he's contributed](https://steveire.wordpress.com/2018/09/13/api-changes-in-clang/). ## On the mailing lists * Anastasia Stulova shared an [RFC proposal on adding SPIR-V target support to Clang](http://lists.llvm.org/pipermail/llvm-dev/2018-September/125948.html). This generated a long discussion thread, and a proposal for further discussion at a roundtable at the upcoming LLVM Dev Meeting. Anastasia provided [further clarification about this proposal](http://lists.llvm.org/pipermail/cfe-dev/2018-September/059355.html). * Dan Gohman is looking for feedback on [handling volatiles for WebAssembly](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126088.html). He notes that although WebAssembly support normal loads/stores and soon atomics like regular ISAs, its likely to optimise loads/stores in ways which aren't typically done by hardware-implemented ISAs. * Lou Wynn [kicked off](http://lists.llvm.org/pipermail/cfe-dev/2018-September/059359.html) a discussion about the current status of the Clang static analyzer, focusing on limitations of the constraint solver. Artem Dergachev [summarises](http://lists.llvm.org/pipermail/cfe-dev/2018-September/059363.html) the current state of affairs. * Petar Avramovic started a [GlobalISel-themed discussion](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126093.html), specifically around legality and instruction combining. * Philip Reames [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126064.html) generalizing load/store promotion in the loop invariant code motion pass. * Philip Reames shared an RFC on [adding a thread.private metadata](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126124.html) to support thread private storage. * Lang Hames is looking for feedback on [adding a mutex and module count to LLCMContext](http://lists.llvm.org/pipermail/llvm-dev/2018-September/126132.html), allowing the lifetime of the various LLVMContext created by the ORC JIT to be managed safely. * If you're interested in finding out more about register allocation in LLVM, [this thread](http://lists.llvm.org/pipermail/llvm-dev/2018-September/125954.html) by Preston Briggs is a good starting point with great responses from Quentin Colombet, Matthias Braun, and others. ## LLVM commits * Initial vector code generation for simple outer loops using VPlan was implemented. [r342197](https://reviews.llvm.org/rL342197). * A new API was added to update MemorySSA for cloned blocks and added CFG edges. [r341855](https://reviews.llvm.org/rL341855). * check-llvm was sped up significantly on Windows by delaying the loading of shell32 and ole32. [r342002](https://reviews.llvm.org/rL342002). * Support was added for symbol remapping files, intended for use with profile data. [r342161](https://reviews.llvm.org/rL342161), [r342168](https://reviews.llvm.org/rL342168). ## Clang commits * New flags were added to reserve AArch64 registers x1-x7, needed when building the Linux kernel with `CONFIG_ARM64_LSE_ATOMICS`. [r342100](https://reviews.llvm.org/rL342100). * The clang static analyzer's iterator checker gained support for checking 'mismatched' iterators, checking cases where it would be an error for iterators from different containers to be passed. It also gained support for push, pop, assign, clear, insert and erase operations. [r341790](https://reviews.llvm.org/rL341790), [r341793](https://reviews.llvm.org/rL341793), [r341794](https://reviews.llvm.org/rL341794). * The `-Watomic-implicit-seq-cst` warning was added, which triggers if `_atomic` or `__sync_*` operations are used without explicitly specifying the memory ordering. [r341860](https://reviews.llvm.org/rL341860). * The control flow integrity (CFI) documentation now describes a VTable interleaving scheme. [r341989](https://reviews.llvm.org/rL341989). ## Other project commits * LLDB can now return descriptions alongside command completions. [r342181](https://reviews.llvm.org/rL342181). * The deprecated `__xray_log_init` API was removed. [r342318](https://reviews.llvm.org/rL342318).