[llvm-dev] LLVM Weekly - #246, September 17th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 17 12:14:17 PDT 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).


More information about the llvm-dev mailing list