Alex Bradbury via llvm-dev
2018-Dec-17 17:12 UTC
[llvm-dev] LLVM Weekly - #259, December 17th 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).