LLVM Weekly - #401, September 6th 2021
Welcome to the four hundred and first 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 https://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
Tanya Lattner provided a summary of upcoming events within the LLVM community.
JeanHeyd Meneide has summarised recent progress on the ISO C23 standard.
MaskRay has blogged about building glibc with LLD 13.
On the mailing lists
Sanjay Patel posted a helpful summary of the intrinsic llvm::isnan discussion, and Serge Pavlov has now initiated a new thread to discuss the path forwards.
Nikita Popov is seeking input on opaque pointers and i8 GEPs. “My proposal here is that in opaque pointers mode, LLVM should consider i8 GEPs canonical for GEPs with constant offsets. We should not attempt to ‘guess’ a good GEP type to use, and we should not try to generate complex GEP structures if a simple one will do. I don’t think there’s really any disadvantages to this, apart from the fact that it makes the discrepancy between typed and opaque pointer mode larger.”
Evgueni Brevnov posted an RFC on introducing a new call-site attribute to provide greater flexibility than a single per-translation unit code model. Philip Reames proposed a slightly more generalised formulation.
Luke Benes asked if clang would follow GCC 11 in adopting a recent change to
-Wnonnull
.ORC JIT Weekly #38 is out, highlighting developments since early August.
LLVM commits
A new tutorial was added on making your first change to LLVM. 3a6b722.
Setjmp/longjmp support was implemented for WebAssembly. 28780e5.
Initial AArch64 JITLink support was committed. 2ed91da.
CMake targets for code coverage reports were added. 2856719.
Support was added for a new LLVM-specific DWARF annotation. 89424a8.
The LLVM_ENABLE_RUNTIMES build option was documented. d396d09.
A new -print-pipeline-pass option was added to opt. c71869e.
The deprecation of the legacy pass manager deprecation was documented. 2413d60.
The llvm.isnan patchset was reverted pending the conclusion of the RFC on llvm-dev. 3f1f08f.
Clang commits
A
-canonical-prefixes
option was added. 3d157cf.Loop unrolling was added to the OpenMPIRBuilder. 650bbc5.
Other project commits
The MLIR Cpp emitter was upstreamed. 2f0750d.
An initial implementation of std::formatter was added to libcxx. d7444d9.
LLDB gained a follow-fork-mode setting. 4a2a947.
LLVM’s libc gained a skeleton for the C standard condition variable functions. 2f4f452.
The MLIR C/Python API was extended to allow for CFG construction. 8e6c55c.