LLVM Weekly - #396, August 2nd 2021
LLVM Weekly - #396, August 2nd 2021
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/396>\.Welcome to the three hundred and ninety-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@asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.## News and articles from around the web
LLVM 13.0.0 [has
branched]([llvm-dev] release/13.x branch has been created) and
the first release candidate is [expected
today]([llvm-dev] 13.0.0-rc1 pushed out to Monday).## On the mailing lists
* Jeremy Morse is [seeking
testers]([llvm-dev] Call for testing -- new variable location tracking solution)
for the new variable location tracking solution that has been added to LLVM,
but is off by default.* Luke Kenneth Casson Leighton posted an RFC on a proposed [vector/SIMD ISA
context
abstraction]([llvm-dev] [RFC] Vector/SIMD ISA Context Abstraction).* Ben Gamari wrote to llvm-dev about a proposed change to the GHC calling
convention, [querying if this may cause an issue for
LLVM]([llvm-dev] GHC calling convention and the stack pointer register).* Michał Górny
[shared]([lldb-dev] [RFC] Improving protocol-level compatibility between LLDB and GDB)
that Mortiz Systems has been contracted to enable KGDB compatibility in LLDB
and so will be working on improving compatibility between LDB and the
gdbserver protocol as part of this.* Thomas Goodfellow [asked for
advice]([llvm-dev] Building compiler-rt for RISC-V?) on
building compiler-rt for RISC-V and received answers from [Fāng-ruì
Sòng]([llvm-dev] Building compiler-rt for RISC-V?) and
[Luís
Marques]([llvm-dev] Building compiler-rt for RISC-V?).* Teresa Johnson provided [input from an ThinLTO
perspective]([llvm-dev] [ThinLTO] Import functions to enable function specialization in ThinLTO)
on function specialization.* Geoffrey Martin-Noble shared that [pre-merge checks have been set up for the
Bazel build of
LLVM]([llvm-dev] Bazel pre-merge checks).## LLVM commits
* A jump-threading optimisation was added for deterministic finite automata
was added. One well-known input where this optimisation may be triggered is
the `core_state_transition` function of coremark.
[02077da](rG02077da7e7a8).* Graph reordering in the SLP vectorizer has been improved.
[e408d1d](rGe408d1dfab42).* AArch64 GlobalISel will no longer optimise away redundant branches at `-O0`,
in order to improve the debuggability of emitted code.
[c5d84d2](rGc5d84d2eb35c).* The CallPenalty for the inliner is now configurable.
[46c0366](rG46c03668774c).* Support for the arch14 SystemZ architecture was added to the SystemZ
backend. [8cd8120](rG8cd8120a7b5d).* Emscripten exception handling now works with Emscripten SjLJ
(setjmp/longjmp). [c285a11](rGc285a11efdb0).* Initial code was added to generate assembly files on z/OS.
[a8cfa4b](rGa8cfa4b9bda3).* `LLVM_ATTRIBUTE_NORETURN` has been replaced with `[[noreturn]]` in the LLVM
codebase. [6da3d8b](rG6da3d8b19c32).* A new feature was introduced in AArch64 for Scalable Matrix Extension (SME)
streaming mode. [3a349d2](rG3a349d22692c).## Clang commits
* `#pragma include_instead` was introduced, which can be used by system
headers to indicate to a tool that the file including this pragma shouldn't
be directly included by user code.
[e8a64e5](rGe8a64e549126).* `#pragma clang deprecated` was added in order to enable deprecation of
preprocessor macros. [26c695b](rG26c695b78930).* Clang option `-ffp-model=precise` now enables `-ffp-contract=on`.
[48ad446a](rG48ad446a0fb2).* Support was added for the `-ffp-eval-method` command-line option.
[66ddac2](rG66ddac22e2a7).## Other project commits
* A new on-by-default libc++ CMake option was added to disable the usage of
incomplete headers which aren't guaranteed to be ABI stable.
[71909de](rG71909de37495).
A slight correction - I'd got the wrong end of the stick from reading
the commit message on this one. You have to opt-in to disable
incomplete headers.