LLVM Weekly - #524, January 15th 2024
If you prefer, you can read the definitive version of this issue at http://llvmweekly.org/issue/524.
Welcome to the five hundred and twenty-fourth 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
Fangrui Song blogged about different object file formats.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Phoebe Wang, Johannes Doerfert, Aaron Ballman.
- Online sync-ups on the following topics: pointer authentication, security group, OpenMP, Clang C/C++ language working group, Flang, floating point, RISC-V libc, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
-
Reid Kleckner posted an announcement regarding the ‘turndown’ of Phabricator being expedited.
-
Tom Stellard shared the proposed LLVM 18 release schedule. It would see the 18.x branch created on 23rd Jan, and the 18.1.0 release on 5th March.
-
Tanya Lattner is seeking mentors, project suggestions, and other help for Outreachy internships.
-
“linux4life798” pinged the previous RFC on upgrading LLVM’s minimum required Python version to see if enough time has passed now to consider bumping to 3.7 or 3.8.
-
Alex Bradbury started a discussion on whether merge commits should be recommended for PRs under review rather than rebasing (with the merge commits removed during squash+merge), following feedback from some contributors that this workflow is easier for reviewers to follow in GitHub’s UI.
-
Nick Desaulniers started a new “who’s hiring” thread.
LLVM commits
-
CodeGenPrepare was ported to the new pass manager. f1ec0d1.
-
A new AArch64 loop idiom transformation pass was added, handling memcmp-like loops that instead returns the index of the first mismatch. c714846.
-
MaxAtomicSizeInBitsSupported was set for all targets that didn’t previously set it, and it now defaults to 0. b856e77, b58f91a.
-
PassBuilder now supports machine passes. 8566cd6.
-
The language reference was updated to mention that rint and nearbyient assume the default rounding mode. fb14662.
-
ASan’s StackSafetyAnalysis was enabled by default. 7740565.
-
Codegen for a number of X86 APX (expanded register set) instructions was implemented. 1fe7bdb.
-
Patches that reduce the binary size of the tablegenerated SelectionDAG code were committed. 211abe3, 5c8d123, 1a57927.
-
The heuristic GlobalISel uses to decide whether to ‘localise’ a value was tweaked. bbbe8ec.
-
A
CreatePtrAdd()
method was added to IRBuilder. 6c2fbc3.
Clang commits
-
Documentation was added for HLSL functions. 183eae0.
-
The
counted_by
attribute was implemented, which can be used to improve the results of the array bound sanitizer. 164f85d. -
The
--gcc-triple
option was added. 6684a09. -
Performance was improved for the misc-const-correctness checker. 6eb372e.
-
GCC_INSTALL_PREFIX
was deprecated. 3358c77. -
The
writable
anddead_on_unwind
attributes are now set on sret arguments, enabling further optimisations. 158d72d. -
Documentation was added on options for Intel’s AVX10 ISA. 0e93d04.
Other project commits
-
The BOLT Address Translation section was documented and a series of optimisations made to significantly reduce its size. a7cf0a1, 565f40d, bbe0798, 8fb8ad6.
-
The
-mrvv-vector-bits
is now understood by flang. 2c60d59. -
fabsf128
was added to LLVM’s libc. 1048b59. -
A typescript extension was created for llvm-dap, with the intent of allowing different companies developing their own VSCode extensions for LLDB to have a single shared contribution point. b5d4332.
-
In MLIR, the OpenACC (‘acc’) dialect design philosophy was documented. ab4af25.