Alex Bradbury via llvm-dev
2021-Dec-13 18:35 UTC
[llvm-dev] LLVM Weekly - #415, December 13th 2021
LLVM Weekly - #415, December 13th 2021 ===================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/415>. Welcome to the four hundred and fifteenth 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 call for papers [is out](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154215.html) for the FOSDEM 2022 LLVM devroom, which will take place online on Saturay 5th February. The deadline for submissions is December 20th. ## On the mailing lists * Aaron Ballman [proposed relaxing the standardisation requirements for Clang extensions](https://lists.llvm.org/pipermail/cfe-dev/2021-December/069551.html), noting that current practice already deviates from what is documented. * Carlos Galvez kicked off an RFC discussion on [the precise style used for 'end namespace' comments](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154199.html). This was [agreed](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154238.html) and a patch clarifying the coding guidelines was committed. * Rafael Auler [provided an updated on efforts to prepare BOLT for the LLVM monorepo](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154258.html). * Anton Korobeynikov announced that [the migration from Bugzilla to GitHub Issues has now completed](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154314.html). Thank you to everyone involved. * Min-Yih Hsu proposed [a new CodeEmitterGen infrastructure for variable-length instructions](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154176.html), intended for use by backends like X86 and M68k rather than the custom instruction encoders they're currently using. * Iilya Diyachkov started an RFC discussion on behalf of Intel, Arm, and Khronos on the [integration of the SPIR-V backend to LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154270.html). * Fraser Cormack made an RFC proposal on [adding a new way of specifying vector alignments in DataLayout](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154192.html), specifically to allow specifying alignment based on element size, which is a better match for architectures like the RISC-V vector extension. * Philip Reames announced a [beta test case reduction service](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154309.html). Simply create a PR against the linked repository to have your crash-producing or miscompilation (as shown by alive2) test case reduced. * Geoffrey Martin-Noble proposes [changing the way lit resolves --path arguments](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154284.html). * Roman Lebedev shared an RFC about [adding a memory region declaration intrinsic](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154249.html). Johannes Doerfert [had a counter-proposal](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154281.html). ## LLVM commits * A new basic block layout algorithm was added, aiming to optimise jump locality and thus processor I$ utilisation. [f573f68](https://reviews.llvm.org/rGf573f6866e18). * Cycles were introduced as a generalisation of loops (see CycleTerminology.rst in the patch for a full description). [1d0244a](https://reviews.llvm.org/rG1d0244aed781). * LLVM now has a debuginfod client library. [0e0f1b2](https://reviews.llvm.org/rG0e0f1b28fce8). * The Hexagon VLIWMachineScheduler was converted to target-independent code. [cc3bb85](https://reviews.llvm.org/rGcc3bb8558018). * The CSKY backend gained compressed instruction mapping between 32-bit and 16-bit instructions. [bdd7c53](https://reviews.llvm.org/rGbdd7c53dc5e0). * Additional support for D demangling was added, including the ability to demangle special identifiers and function-local parent symbols. [8a7ddf9](https://reviews.llvm.org/rG8a7ddf9e2296), [83087c0](https://reviews.llvm.org/rG83087c096af9). * A PAC (Pointer Authentication Code) signing mechanism was added for PACBTI-M on Arm. [63eb7ff4](https://reviews.llvm.org/rG63eb7ff47de5). * New table instruction intrinsics were added for WebAssembly. [2fd634a](https://reviews.llvm.org/rG2fd634a5e307). * A calculated score was added to the register allocation infrastructure. It intends to provide a measure of the quality of register allocation independent of the algorithm being used, that can be used to machine learning algorithms. [fa99cb6](https://reviews.llvm.org/rGfa99cb64ff0e). * Rather than duplicating the google/benchmark library within the repository, libcxx and llvm/utils now both use a fork within the thirdparty/ directory. [5dda2ef](https://reviews.llvm.org/rG5dda2efde574). * It is now possible to set a DataLayout with pointer sizes that aren't a whole number of bytes. [0fcb16e](https://reviews.llvm.org/rG0fcb16eeb228). * Codegen of basic arithmetic and load/store operations is supported in the CSKY backend. [a556ec8](https://reviews.llvm.org/rGa556ec8861df). ## Clang commits * Documentation was added for Clang's new dataflow analysis framework. [ab31d00](https://reviews.llvm.org/rGab31d003e16e). * `_ExtInt` has been deprecated in favour of `_BitInt`, matching the accepted C23 proposal. [6c75ab5](https://reviews.llvm.org/rG6c75ab5f66b4). ## Other project commits * libc++, libc++abi, and libunwind are no longer forcibly built with fPIC. [a6e5563](https://reviews.llvm.org/rGa6e5563dfaff). * Support was added for pty redirection to the LLVM qemu-user plugin. [5c4cb32](https://reviews.llvm.org/rG5c4cb323e86a).