[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

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
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

* Oliver Giroux started a thread on [extending libcxx for use in a CUDA C++
A key part of this proposal is the introduction of "freestanding" mode.

* Anastasia Stulova started an RFC thread on [fixing address spaces in C++

* James Y Knight started discussing [tag and branch naming in the git

* Johannes Doerfert started a thread discussing the fact [stripPointerCasts
can return a value with a different bit pattern to the

## LLVM commits

* A new signed fixed point multiplication intrinsic was introduced.

* bugpoint will now search for 'opt', 'clang' and other executables from the
LLVM build rather than just searching the user's PATH.

* The AMDGPU backend gained a new pass to manage the mode register (currently
just double precision floating point rounding mode).

* Code-gen for RISC-V FMAs was added.

* The PowerPC instruction definitions were refactored to differentiate between
the different varieties of pseudo-instruction.

## 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.

## Other project commits

* libcxx gained a new alternative version of std::function.

* 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