LLVM Weekly - #505, September 4th 2023

LLVM Weekly - #505, September 4th 2023

If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/505.

Welcome to the five hundred and fifth 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. 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, @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.

News and articles from around the web and events

LLVM socials in Stockholm have now restarted with the next to be held on 27th September. The next meetup in Darmstadt will also take place on 27th September.

The Linaro blog features a new post comparing LLVM Flang with other Fortran compilers.

The call for presentation for the Clang-built Linux meetup at the Linux Plumbers conference is now up. It will take place on November 11th.

The call for presentations for the MLIR workshop at the LLVM Developers’ Meeting is now open.

According to the LLVM calendar in the coming week there will be:

  • Office hours with the following hosts: Tobias Grosser, Anastasia Stulova, Johannes Doerfert, Quentin Colombet.
  • Online sync-ups on the following topics: Flang, OpenMP in LLVM, classic flang, Clang C/C++ language working group, loop optimisations, OpenMP in Flang, MLIR, PPC, HLSL, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Documentation was updated for the new GitHub workflow. 63b2911.

  • The operands of the atomic_store SelectionDAG node were swapped so they now match the order of operands for a regular store. ad9d13d.

  • LLVM learned to syntax highlight assembly. This is currently enabled for AArch64 and X86. 77d1032, 95062d7, dd2911d.

  • lit -v was updated to no longer print the Script: section and -vv is now just an alias for -v. Additionally, the printed shell commands from the execution trace are now easier to copy and paste. 09b6e45, c981c533.

  • A ‘closed world’ flag was introduced to the Attributor, which allows the attributor to assume all functions are known and so all potential callees are declared/defined in the module. 498887a.

  • The GlobPattern library learned to support brace expansions e.g. foo.{c,h}. 8daace8.

  • The old GICombiner TableGen backend was removed, now the MatchTable-based GlobalISel combiner is the default. 54d0cf5.

  • An llvm.exp10 intrinsic was added. 66a652a.

Clang commits

  • rdar links were removed from Clang. 0f1c1be.

  • Code completion is now supported by clang-repl. 79af92b.

  • CloudABI support was removed. 5165593.

  • A new flag --print-supported-extensions was added for RISC-V, which as the name suggets will print a list of ISA extensions (and their versions) recognised by the compiler. 4b40ced.

  • An AST node was added for C++ concepts. c2bf9ba.

  • GNU ld support for Solaris was added. d39a9e3.

Other project commits

  • libcxx’s contribution documentation was expanded. 195015c.

  • nanosleep, clock, anda bort were implemented in LLVM’s libc for GPU targets. 30307a7, 07102a1, ca10bc4.

  • _sync out-of-line atomics were implemented in compiler-rt for AArch64 in order to allow use of compiler-rt with GCC That emits these. 4bb2416.

  • MLIR’s bufferization infrastructure gained support for unstructured control flow. 6ecebb4.