[llvm-dev] LLVM Weekly - #411, November 15th 2021

Alex Bradbury via llvm-dev
2021-11-15T18:16:06Z

LLVM Weekly - #411, November 15th 2021
=====================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/411>.

Welcome to the four hundred and eleventh 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 2021 LLVM Developers' Meeting is [taking place virtually this
week](https://llvm.org/devmtg/2021-11/), Nov 16th-19th.

Simon Byrne blogged about [dangers posed by 'fast-math' compiler
flags](https://simonbyrne.github.io/notes/fastmath/).


## On the mailing lists

* Akash Kothari (on behalf of a consortium of authors) shared a [proposal for
  TLX: Tensor LLVM

eXtensions](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153725.html).

* Jeremy Morse posted an RFC on [enabling 'instruction referencing'
variable
  locations for
  x86_64](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153653.html).
  Respondents so far are in favour.

* Johannes Doerfert [asked if it would make sense to have a 'GPU working

group'](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153654.html)
  with regular meetings.

* Mircea Trofin shared an RFC on [applying machine learning to live range
  eviction for the 'greedy' register

allocator](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153639.html),
  noting a 0.3%-1.5% improvement in queries per second on selected
  datacenter-type applications.

* Zarko Todorovski is [proposing to rename llvm-cov option -name-whitelist to

-name-allow-list](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153639.html).

* Florian Hahn provided an [and updated on adding new vector math builtins to
  Clang](https://lists.llvm.org/pipermail/cfe-dev/2021-November/069311.html).

* Itay Bookstein is [seeking
  feedback](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153690.html)
  on the IR-level semantics of a GlobalIFunc whose resolver is a declaration.

* After some systematic testing with a simple Python script, Jay Foad
  [highlighted some missed optimisations of bitwise

expressions](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153659.html).
  'Beginner' tagged bugs have [now been
  filed](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153677.html).

* Johannes Doerfert posted an updated RFC on [introducing non-capturing
  stores](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153677.html).

* Alan Phipps kicked off an RFC thread on [source-based modified
  condition/decision

coverage](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153634.html).

* ORC JIT Weekly #44 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153732.html),
  providing an update on support for MachO debugging.

* LLVM GPU News #23 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153731.html).

* Arthur Eubanks initiated a thread on [removing optimisation size level
  from the LLVM IR pipeline and relying on minsize/optsize

attributes](https://lists.llvm.org/pipermail/llvm-dev/2021-November/153705.html).
  This generated a fair amount of discussion, both about this specific
  proposal and about when function attributes should be used to represent
  optimisation information.


## LLVM commits

* The llvm-tli-checker tool was committed. This tool compares
  TargetLibraryInfo's opinion of the availability of library function calls
  against the functions actually exported by a specified set of libraries.
  [38be8f4](https://reviews.llvm.org/rG38be8f4057c1).

* MC layer support for CSKY's 16-bit instructions was added.
  [4fb282f](https://reviews.llvm.org/rG4fb282fec5ef).

* The initial implementation of a module level inliner was committed.
  [6cad45d](https://reviews.llvm.org/rG6cad45d5c6f5).

* Minimal support for the D programming language was added to LLVM's
  demangler. A fuzzer for it was also contributed.
  [22a1aa5](https://reviews.llvm.org/rG22a1aa5a43cb),
  [9af467e](https://reviews.llvm.org/rG9af467ed8b53).

* The operands-skip pass was added to llvm-reduce. This will try to remove
  instructions in the middle of dependency chains.
  [c15f930](https://reviews.llvm.org/rGc15f930e9656).


## Clang commits

* LambdaCapture-related matchers were added.
  [c0b298f](https://reviews.llvm.org/rGc0b298fc213c).

* A new clang-tidy check was added to detect misleading unicode identifiers.
  [a35efc4](https://reviews.llvm.org/rGa35efc4dcb70).

* Clang support was added for the SPIR-V target.
  [a10a69f](https://reviews.llvm.org/rGa10a69fe9c74).

* The `# NNN`-based line control extension was documented.
  [bf6986d](https://reviews.llvm.org/rGbf6986d99eaa).

* Some of the generated resource headers were conditionalised upon the
  relevant target being registered. This was motivated by the size the RISC-V
  headers add to the resource directory.
  [c17d9b4](https://reviews.llvm.org/rGc17d9b4b125e).

* A new clang-tidy check was added for the initialisation of `absl::Cleanup`.
  [16b07c8](https://reviews.llvm.org/rG16b07c866ae7).


## Other project commits

* A libMLIR-C.so shared library can now be built.
  [c265170](https://reviews.llvm.org/rGc265170110b2).

* compiler-rt's memprof gained support for a raw binary profile
serialisation
  format. [545866c](https://reviews.llvm.org/rG545866cb05b9).

* The performance of string to float conversion in LLVM's libc was improved.
  [8298424](https://reviews.llvm.org/rG8298424cae9b),
  [499ca80](https://reviews.llvm.org/rG499ca806dcfb).

* Outdated LLD design documentation was removed.
  [43bb5f0](https://reviews.llvm.org/rG43bb5f01854b).

* Identical code folding (ICF) for the LLD MachO linker can now deduplicate
  functions with identical unwind info.
  [d9b6f7e](https://reviews.llvm.org/rGd9b6f7e312c1).