[llvm-dev] LLVM Weekly - #259, December 17th 2018
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Dec 17 09:12:35 PST 2018
LLVM Weekly - #259, December 17th 2018
======================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/259>.
Welcome to the two hundred and fifty-ninth 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
Jan Hubička [wrote
up](https://hubicka.blogspot.com/2018/12/firefox-64-built-with-gcc-and-clang.htm)
a comparison of Firefox 64 built with GCC and Clang with LTO. As always with
Jan's posts, it's a great read. One notable difference is that Clang-produced
binaries are substantially larger (48% larger code section) because Clang does
little to size-optimize cold regions. Also see the [Hacker News
thread](https://news.ycombinator.com/item?id=18693739) for more discussion.
## On the mailing lists
* Johannes Doerfert shared an RFC on [introducing transitive and abstract call
sites](http://lists.llvm.org/pipermail/llvm-dev/2018-December/128424.html) in
order to improve IPO in the presence of function pointers passed to runtime
functions.
* Oliver Giroux started a thread on [extending libcxx for use in a CUDA C++
standard
library](http://lists.llvm.org/pipermail/libcxx-dev/2018-December/000092.html).
A key part of this proposal is the introduction of "freestanding" mode.
* Anastasia Stulova started an RFC thread on [fixing address spaces in C++
cast
operators](http://lists.llvm.org/pipermail/cfe-dev/2018-December/060546.html).
* James Y Knight started discussing [tag and branch naming in the git
conversion
prototype](http://lists.llvm.org/pipermail/llvm-dev/2018-December/128484.html).
* Johannes Doerfert started a thread discussing the fact [stripPointerCasts
can return a value with a different bit pattern to the
input](http://lists.llvm.org/pipermail/llvm-dev/2018-December/128423.html).
## LLVM commits
* A new signed fixed point multiplication intrinsic was introduced.
[r348912](https://reviews.llvm.org/rL349812).
* bugpoint will now search for 'opt', 'clang' and other executables from the
LLVM build rather than just searching the user's PATH.
[r348734](https://reviews.llvm.org/rL348734).
* The AMDGPU backend gained a new pass to manage the mode register (currently
just double precision floating point rounding mode).
[r348754](https://reviews.llvm.org/rL348754).
* Code-gen for RISC-V FMAs was added.
[r349023](https://reviews.llvm.org/rL349023).
* The PowerPC instruction definitions were refactored to differentiate between
the different varieties of pseudo-instruction.
[r349044](https://reviews.llvm.org/rL349044).
## Clang commits
* Try-catch blocks in constexpr fucntions are now supported, as proposed for
C++20. [r348789](https://reviews.llvm.org/rL348789).
* Clang learned to support `-frecord-command-line`, which embeds the driver
command-line in an ELF section in the output.
[r349155](https://reviews.llvm.org/rL349155).
## Other project commits
* libcxx gained a new alternative version of std::function.
[r348812](https://reviews.llvm.org/rL348812).
* LLD now understands `--plugin-opt=emit-llvm` which will combine all bitcode
files and write the result to an output file without doing codegen. The Gold
LTO plugin has the same option. [r349198](https://reviews.llvm.org/rL349198).
* Initial scaffolding was added to LLDB to recognise symbol files generated by
breakpad. [r348773](https://reviews.llvm.org/rL348773).
More information about the llvm-dev
mailing list