LLVM/project 33407fa — lldb/source/Host/macosx/objcxx HostInfoMacOSX.mm

[lldb] Fix IsBundleCodeSignTrusted build on embedded (#241010)

SecStaticCode APIs are macOS-only. Return false elsewhere.
DeltaFile
+4-0lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+4-01 files

LLVM/project a3b4efe — llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/X86 vector-deinterleave7-i8.ll vector-interleave7-i32.ll

Merge branch 'main' into users/adams381/cir-get-element-inbounds

Assisted-by: Cursor / Claude Opus 5.5
DeltaFile
+89,147-91,827llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,378-26,402llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+29,293-0llvm/test/CodeGen/X86/vector-interleave7-i16.ll
+29,228-0llvm/test/CodeGen/X86/vector-interleaved7-i8.ll
+27,225-0llvm/test/CodeGen/X86/vector-interleave7-i32.ll
+26,140-0llvm/test/CodeGen/X86/vector-deinterleave7-i8.ll
+226,411-118,22918,815 files not shown
+1,900,944-601,79818,821 files

LLVM/project 03801ff — utils/bazel/llvm-project-overlay/libc/test/UnitTest BUILD.bazel

[bazel] Port 528affb94ef8e664f04cab92758c06886e56fea9 (#241007)

This commit also add `layering_check` to package features so future
layering issues show up in CI and can be handled by the auto-fixing
Bazel bot.
DeltaFile
+9-1utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
+9-11 files

LLVM/project 6367f33 — flang/lib/Optimizer/OpenACC/Transforms ACCOptimizeDataMapping.cpp, flang/test/Transforms/OpenACC acc-optimize-data-mapping.fir

[flang][acc] Issue implicit copies before optimized copyins (#240643)

Optimized copyins are appended so the remaining implicit copies are
issued first. This is done because this pass relies on alias analysis,
which takes advantage of Fortran aliasing rules: for example, dummy
arguments do not alias. However, if they did alias, then we are now
depending on the order ACCImplicitData decided to map, because a copyin
followed by a copy is not the same as a copy followed by a copyin (since
only the first data action maps, everything else updates the counter).
By issuing the copies before the copyins, we can ensure we do not break
anything even if we relied on the language rules to do the optimization.
DeltaFile
+80-1flang/test/Transforms/OpenACC/acc-optimize-data-mapping.fir
+61-0flang/lib/Optimizer/OpenACC/Transforms/ACCOptimizeDataMapping.cpp
+141-12 files

LLVM/project b543957 — clang/test/OpenMP irbuilder_unroll_unroll_partial_heuristic.c irbuilder_unroll_partial_heuristic_runtime_for.c, llvm/include/llvm/Frontend/OpenMP OMPConstants.h OMPIRBuilder.h

OpenMP: Stop using TTI to pick the partial unroll factor in OMPIRBuilder

When the unrolled loop's CanonicalLoopInfo is needed by an enclosing
loop directive and no factor was given, unrollLoopPartial computed one
by constructing its own TargetMachine with default TargetOptions and a
standalone FunctionAnalysisManager, then running LoopUnrollPass's cost
model on the function while it was still being built.

This is a layering violation. Frontends should not be using codegen
optimization information to construct the original program. This will
not have a properly configured TargetTransformInfo from a pass
manager. The cost model is also not meaningful on incomplete,
unoptimized IR.

Use a factor of 2, matching what Sema's OpenMP loop transformation
uses for a partial clause without a factor. This removes the hidden
-openmp-ir-builder-unroll-threshold-factor option.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-190llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+4-8llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+4-4clang/test/OpenMP/irbuilder_unroll_unroll_partial_heuristic.c
+4-4clang/test/OpenMP/irbuilder_unroll_partial_heuristic_runtime_for.c
+4-4clang/test/OpenMP/irbuilder_unroll_partial_heuristic_constant_for.c
+4-0llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
+21-2101 files not shown
+22-2117 files

LLVM/project 2c0fe64 — llvm/lib/Target/Hexagon HexagonISelLoweringHVX.cpp HexagonISelLowering.h, llvm/test/CodeGen/Hexagon hlx-mem-intrinsics.ll

[Hexagon] Add HLX load and store memory intrinsics (#240995)

Lower the HLX temporary-load and new-value-store intrinsics to their
corresponding pseudo instructions and describe them as memory intrinsics
so that the selected nodes carry correct MachineMemOperands.

This adds:
- the isel patterns mapping int_hexagon_LX_L16b_tmp and
int_hexagon_LX_S16b_new onto LX_L16b_pseudo and LX_S16b_pseudo;
- getTgtMemIntrinsic support that infers the access type, pointer,
alignment, and memory flags from the intrinsic signature;
- lowering of the paired load/store intrinsics int_hexagon_LX_LL16b_tmp
and int_hexagon_LX_SS16b_new, splitting each pair access into two
single-vector accesses.

Marking INTRINSIC_W_CHAIN as custom to lower the paired HLX intrinsics
also routes HVX chained intrinsics through LowerHvxOperation, so a
pass-through case is added there to keep them selected by the existing
patterns.
DeltaFile
+64-0llvm/lib/Target/Hexagon/HexagonISelLoweringHLX.cpp
+33-0llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
+27-0llvm/test/CodeGen/Hexagon/hlx-mem-intrinsics.ll
+8-0llvm/lib/Target/Hexagon/HexagonIntrinsics.td
+1-0llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
+1-0llvm/lib/Target/Hexagon/HexagonISelLowering.h
+134-06 files

LLVM/project d8f1473 — lldb/source/Plugins/Platform/MacOSX/objcxx PlatformiOSSimulatorCoreSimulatorSupport.h PlatformiOSSimulatorCoreSimulatorSupport.mm

[lldb] Remove unused methods from PlatformiOSSimulatorCoreSimulatorSupport (#240970)
DeltaFile
+0-8lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
+0-5lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
+0-132 files

LLVM/project 2bbbf2d — llvm/lib/Transforms/IPO Attributor.cpp

Attributor: Only destroy the cached opcodes' instruction vectors

The FunctionInfo destructor checked all of the ~70 opcode slots of
OpcodeInstMap, but only the interesting opcodes are ever filled in.
Loop over those instead.

Instruction counts (callgrind) of attributor-light:
sqlite3 -0.02%, kimwitu++ k -0.30%, SPASS cnf -0.03%, consumer-typeset
z08 -0.01%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+16-2llvm/lib/Transforms/IPO/Attributor.cpp
+16-21 files

LLVM/project ddf367f — flang/include/flang/Lower/Support Utils.h, flang/lib/Lower PFTBuilder.cpp OpenACC.cpp

[flang][OpenACC] Bind a module COMMON block named in a data clause (#239811)

A COMMON block declared in a module and named in a data clause of a
module procedure crashes lowering when the procedure does not reference
any of the block's members:

```fortran
module m
  integer :: a
  common /c/ a
contains
  subroutine s()
    !$acc enter data create(/c/)
  end subroutine
end module
```

```
Assertion `detail::isPresent(Val) && "dyn_cast on a non-existent value"' failed.

    [64 lines not shown]
DeltaFile
+117-0flang/test/Lower/OpenACC/acc-module-common-unreferenced.f90
+7-19flang/lib/Lower/OpenACC.cpp
+18-0flang/lib/Lower/Support/Utils.cpp
+11-1flang/lib/Lower/PFTBuilder.cpp
+6-0flang/include/flang/Lower/Support/Utils.h
+159-205 files

LLVM/project 0eb53b9 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 shuffle-mask-emission.ll copyable-freeze.ll

[SLP]Support freeze as copyable main op

Model non-freeze lanes as freeze(V), which refines V, so mixed
bundles become a single vector freeze instead of a gather.

Assisted-by: Cursor

Original Pull Request: https://github.com/llvm/llvm-project/pull/239999

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/241009
DeltaFile
+24-110llvm/test/Transforms/SLPVectorizer/X86/copyable-freeze.ll
+50-25llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+3-6llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
+77-1413 files

LLVM/project b84ab9c — llvm/lib/Target/AMDGPU SIInstrInfo.h SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU waitcnt-vavdst-ordered-xdl.mir

[AMDGPU] Model ordered XDL writes in expert scheduling (#218326)

Treat qualifying XDL WMMA as VA_VDST fences so expert scheduling can use
nonzero waits after out-of-order event mixes.

An XDL instruction with a destination register of 8 or more VGPRs
decrements VA_VDST after all instructions that were issued earlier.

This offers a significant benefit in compute bound kernels since we are
not required to pessimistically wait for WMMAs to write their results
when interleaving LDS.

```
VALU def r0
TRANS
VALU
TRANS
WMMA
va_vdst(1) # previously this would require va_vdst(0)
DS_LOAD use r0
```
DeltaFile
+162-8llvm/test/CodeGen/AMDGPU/waitcnt-vavdst-ordered-xdl.mir
+92-21llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+12-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+6-0llvm/lib/Target/AMDGPU/SIInstrInfo.h
+272-294 files

FreeBSD/ports 4691be5 — www/piwigo pkg-plist Makefile

www/piwigo: Update to 16.5.0.
DeltaFile
+3-3www/piwigo/distinfo
+2-2www/piwigo/Makefile
+1-0www/piwigo/pkg-plist
+6-53 files

LLVM/project 384d653 — lldb/docs/use links.md

[lldb][docs] Add GPU debugging blog post to links page (#240930)

This Meta blog post is a great resource about the GPU/accelerator
debugging support in LLDB and lldb-server.
DeltaFile
+1-0lldb/docs/use/links.md
+1-01 files

LLVM/project 0cb1335 — llvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU fdiv.bf16.ll llvm.log2.bf16.ll

[AMDGPU] Mitigate TRANS f16 to partial VGPR write WAW hazard

Fixes: ROCM-33929
DeltaFile
+175-0llvm/test/CodeGen/AMDGPU/hazard-partial-trans-f16-write.mir
+113-0llvm/test/CodeGen/AMDGPU/hazard-partial-trans-f16-write-fake16.mir
+91-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+29-16llvm/test/CodeGen/AMDGPU/llvm.exp2.bf16.ll
+24-13llvm/test/CodeGen/AMDGPU/llvm.log2.bf16.ll
+10-7llvm/test/CodeGen/AMDGPU/fdiv.bf16.ll
+442-365 files not shown
+455-4011 files

LLVM/project 7387a4d — clang/test/OffloadTools/clang-nvlink-wrapper thinlto-save-temps.c lto-save-temps.ll, clang/tools/clang-nvlink-wrapper ClangNVLinkWrapper.cpp

[clang-nvlink-wrapper] Keep LTO task outputs distinct (#238883)

With `--save-temps` and multiple LTO tasks, the wrapper reuses the same
PTX and cubin names, so later tasks overwrite earlier results and
`nvlink` receives duplicate inputs. Give each task a distinct output
name, serialize creation of shared temporary-file bookkeeping, and skip
inactive task slots.

Fixes #238882

Testing:
- Full LTO two-partition and single-partition `FileCheck` regressions;
Unified ThinLTO regression for the unused task slot.
- CUDA 13.2 `ptxas` and `nvlink`: successfully linked a two-kernel,
two-partition image for `sm_90` and `sm_103a` with `--save-temps`. The
unpatched current baseline fails with duplicate definitions.
- Loaded and ran both kernels on two GH200 GPUs and one B300 GPU;
results were 111 and 222 on each device.


    [10 lines not shown]
DeltaFile
+25-0clang/test/OffloadTools/clang-nvlink-wrapper/lto-save-temps.ll
+14-4clang/tools/clang-nvlink-wrapper/ClangNVLinkWrapper.cpp
+10-0clang/test/OffloadTools/clang-nvlink-wrapper/thinlto-save-temps.c
+49-43 files

FreeBSD/src e34b159 — contrib/netbsd-tests/kernel t_mqueue.c, tests/freebsd_test_suite macros.h

Remove {ATF,PLAIN}_REQUIRE_KERNEL_MODULE macros

These macros predated the `require.kmod` (ATF) and `required_kmods`
(kyua) test metadata and are no longer needed.

Add a hint to freebsd_test_suite/macros.h about the `*FEATURE*` macros
going away soon. See [this kyua issue][kyua-issue] for more details.

MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D61082

[kyua-issue]: https://github.com/freebsd/kyua/issues/346
DeltaFile
+13-13tests/freebsd_test_suite/macros.h
+15-3tests/sys/net/routing/rtsock_config.h
+0-4contrib/netbsd-tests/kernel/t_mqueue.c
+1-0tests/sys/kern/Makefile
+29-204 files

LLVM/project 2bf555a — utils/bazel/llvm-project-overlay/libc/test/UnitTest BUILD.bazel

[bazel] Port 528affb94ef8e664f04cab92758c06886e56fea9

While here, add `layering_check` to package features so this shows up in CI.
DeltaFile
+9-1utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
+9-11 files

LLVM/project 8fa84df — flang/lib/Optimizer/CodeGen CodeGen.cpp, flang/test/Fir convert-to-llvm.fir convert-to-llvm-complex-part-block-args.fir

[flang][codegen] Fix complex part designator with a non-constant index (#240550)

CoordinateOpConversion lowers a complex part access unconditionally as a
struct GEP, whose field index LLVM requires to be constant, and nothing
checks that the index operand is one. Block merging can make it
non-constant: two blocks differing only in the complex part index are
identical, so merging collapses them and passes the index as a block
argument. The conversion then emits invalid IR.

A complex is two elements of the same type laid out contiguously, so a
non-constant part index can index the element type directly, where a dynamic
index is allowed. Only an index into the struct itself has to be constant.
The constant path is unchanged.
DeltaFile
+29-0flang/test/Fir/convert-to-llvm-complex-part-block-args.fir
+14-0flang/test/Fir/convert-to-llvm.fir
+7-1flang/lib/Optimizer/CodeGen/CodeGen.cpp
+50-13 files

LLVM/project b7f8899 — llvm/include/llvm/Transforms/IPO Attributor.h, llvm/test/Transforms/Attributor musttail-function-info.ll

Attributor: Don't keep a reference into the function information map (#240717)

getFunctionInfo kept a reference to the map entry while initializing the
information, which can add other functions to the map. If that grows the
map, the reference dangles and the function information is read from
freed memory.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+196-0llvm/test/Transforms/Attributor/musttail-function-info.ll
+8-5llvm/include/llvm/Transforms/IPO/Attributor.h
+204-52 files

FreeBSD/src 3d6f886 — sbin/nvmecontrol format.c nvmecontrol.8

nvmecontrol: Range-check the format command's field values

The format command accepted any 32-bit value for -m, -p, -l and
--ses and passed it into the Format NVM command.  Before
eae727676169 an out-of-range value spilled into the adjacent cdw10
fields, which usually drew an error from the controller; after it,
the value is masked to the field width, so a mistyped value is
silently accepted with a different meaning.  Most seriously,
--ses 8 masked to SES=0 and performed a plain format with no erase
at all, exiting 0.  A value like --ses 10 masked to a cryptographic
erase while bypassing the FNA cryptographic erase capability check,
which compares the unmasked value.

Reject values outside the ranges nvmecontrol.8 documents, which are
the values the spec defines: 0-1 for -m and -l, 0-3 for -p, and
0-2 for --ses.  The checks run at option validation time, before
the device is opened, and the capability check now only ever sees
valid values.


    [10 lines not shown]
DeltaFile
+19-1sbin/nvmecontrol/nvmecontrol.8
+10-0sbin/nvmecontrol/format.c
+29-12 files

LLVM/project b45c1d8 — llvm/test/TableGen RegClassEmptyAllocationOrder.td, llvm/utils/TableGen/Common CodeGenRegisters.cpp

TableGen: Error on allocatable register classes with an empty allocation order

A register can never be allocated from a class with an empty
allocation order. This can happen when an alternative order excludes
every member, or when an inferred class inherits such an order from
its super class.

Classes with no members are exempt, since AMDGPU's VReg_1 is a verfy
hacky, intentionally empty allocatable class.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+49-0llvm/test/TableGen/RegClassEmptyAllocationOrder.td
+15-0llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+64-02 files

OpenBSD/src mDV2XrO — sys/lib/libz infback.c inflate.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.24.4.1+25-8sys/lib/libz/deflate.c
1.29.4.1+12-4sys/lib/libz/inflate.c
1.15.4.1+0-2sys/lib/libz/infback.c
+37-143 files

OpenZFS/src f47a363 — .github/workflows zfs-qemu-packages.yml, .github/workflows/scripts qemu-6-tests.sh qemu-3-deps-vm.sh

CI: Add AlmaLinux 10 x86-64-v2 package build

EL10 is built for x86-64-v3 CPUs, so the packages built on AlmaLinux 10
cannot be installed on its x86-64-v2 variant.  Add an almalinux10-v2
job to the package workflow that builds on the x86_64_v2 cloud image,
and store its RPMs in a separate x86_64_v2 directory so they do not
collide with the regular EL10 packages.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: FingerlessGlov3s <me at fingerlessgloves.me>
Closes #19811
DeltaFile
+15-7.github/workflows/scripts/qemu-4-build-vm.sh
+6-0.github/workflows/scripts/qemu-2-start.sh
+2-1.github/workflows/zfs-qemu-packages.yml
+1-1.github/workflows/scripts/qemu-6-tests.sh
+1-1.github/workflows/scripts/qemu-3-deps-vm.sh
+25-105 files

OpenBSD/src 9Iu9Kgw — sys/lib/libz infback.c inflate.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.24.2.1+25-8sys/lib/libz/deflate.c
1.29.2.1+12-4sys/lib/libz/inflate.c
1.15.2.1+0-2sys/lib/libz/infback.c
+37-143 files

FreeNAS/freenas 4ef879d — src/middlewared/middlewared/plugins sysdataset.py truesearch.py, tests/api2 test_truesearch.py

Fix TrueSearch times, service gates and system dataset handling

truesearch.query:
- A stat time that datetime cannot hold, such as a year after 9999,
  is null. One such file no longer fails the query. A time is not
  rounded into the next second.
- A list of the indexed datasets that was read across a configure or
  a mount serves one query and is not kept.
- "/mnt/" is refused, as "/mnt" is.
- A recursive query as a user skips a directory that is gone. A user
  who cannot reach the path gets a CallError with EACCES.
- A date filter gives a year of four digits. A date outside the years
  1 to 9999 in UTC is a validation error.
- The method docstring no longer describes parameters. The username
  field says that the user must be able to access path.

The service:
- configure() logs a start, restart, reload or stop that systemd
  reports failed. It then does not wait for released datasets. It

    [19 lines not shown]
DeltaFile
+159-12tests/unit/test_truesearch.py
+78-43src/middlewared/middlewared/plugins/truesearch.py
+35-27tests/api2/test_truesearch.py
+42-6tests/unit/test_system_dataset_pwenc.py
+37-5tests/unit/test_truesearch_filters.py
+17-10src/middlewared/middlewared/plugins/sysdataset.py
+368-1036 files not shown
+401-11512 files

OpenBSD/src eedVjUx — lib/libz infback.c gzlib.c

   Backport security fixes from zlib 1.4

   From the 9 security fixes listed in
   https://github.com/madler/zlib/releases/tag/v1.4
   we already have the fix for CVE-2026-85091 in 8.0.

   The remaining 8 of these are cherry-picked here for userland, 6 of which
   also affect the kernel. That required a bit of fiddling due to our patches
   (#ifdef SMALL, size for ZFREE in the kernel).

   There is an oob write of 32k and various other oob accesses, some info
   leaks and a cloexec carelessness.

   from tb@; looks good to deraadt@

   In detail this is:

   deflate.c, hunks 1 and 2:


    [111 lines not shown]
VersionDeltaFile
1.31.6.1+25-8lib/libz/deflate.c
1.25.6.1+12-4lib/libz/inflate.c
1.7.2.1+5-0lib/libz/gzwrite.c
1.12.6.1+2-2lib/libz/gzlib.c
1.14.6.1+0-2lib/libz/infback.c
+44-165 files

LLVM/project fb6414d — llvm/test/CodeGen/ARM store-prepostinc.mir, llvm/test/CodeGen/ARM/GlobalISel arm-legalize-binops.mir arm-legalize-fp.mir

[ARM](NFC) Drop `tracksRegLiveness: true` from MIR tests (#240866)
DeltaFile
+0-64llvm/test/CodeGen/Thumb2/mve-postinc-distribute.mir
+0-58llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
+0-32llvm/test/CodeGen/Thumb2/store-prepostinc.mir
+0-28llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-binops.mir
+0-23llvm/test/CodeGen/Thumb2/postinc-distribute.mir
+0-20llvm/test/CodeGen/ARM/store-prepostinc.mir
+0-225270 files not shown
+0-727276 files

LLVM/project b9b5fc0 — libc/utils/docgen wchar.yaml signal.yaml

[libc][docs] Add types and globals tables to C23 docgen pages (#240989)

Header status pages currently track only functions and macros, leaving
out required standard types, global variables, and newer POSIX.1-2024
additions on the C23 headers.

Check header-scoped type and global variable implementations in docgen,
render Types and Global Variables tables when present, and populate the
18 existing C23 header YAML catalogues with their standard types,
globals, and missing C23 and POSIX.1-2024 symbols.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+556-0libc/utils/docgen/inttypes.yaml
+128-0libc/utils/docgen/stdlib.yaml
+68-35libc/utils/docgen/docgen.py
+88-4libc/utils/docgen/header.py
+83-0libc/utils/docgen/signal.yaml
+81-0libc/utils/docgen/wchar.yaml
+1,004-3915 files not shown
+1,416-4121 files

LLVM/project bb13b18 — llvm/include/llvm/Transforms/IPO GlobalDCE.h, llvm/lib/Transforms/IPO GlobalDCE.cpp

[GlobalDCE] only mark a virtual function as live when its vtable is live (#232495)

Previously, when using virtual function elimination, a virtual call
would mark all implementations of that virtual function as live, even if
their vtable was never actually used. This can happen in C++, but is
much more common in Rust.

The change here is to only keep the implementation if:

1. there is a virtual call to the function
2. the vtable of the implementation is live

This change has knock-on effects where potentially there is now only one
vtable in a typeid and hence calls can be devirtualized. It also in
general helps with code size of course.

The gist of the change is that we store virtual functions (and their
caller) into a separate work list. Then in
`ScanTypeCheckedLoadIntrinsics` we only mark a virtual function as live

    [22 lines not shown]
DeltaFile
+104-0llvm/test/Transforms/GlobalDCE/virtual-functions-dead-vtable.ll
+38-7llvm/lib/Transforms/IPO/GlobalDCE.cpp
+14-0llvm/include/llvm/Transforms/IPO/GlobalDCE.h
+156-73 files

LLVM/project d708b33 — llvm/lib/Target/ARM ARMRegisterInfo.td, llvm/test/CodeGen/Thumb inline-asm-tied-r12.ll

ARM: Define the R12 register class explicitly

TableGen inferred the R12-only class from hGPR and tcGPR, and it
inherited the Thumb1 allocation order of tcGPR, which only has low
registers. On Thumb1 the class had no allocatable registers, so an
inline asm input tied to r12 failed to allocate. In the future
TableGen should error on allocatable classes without any members.

Define the class explicitly so R12 is in its allocation order. This
fixes a regression from #238705, which started creating tied inline
asm inputs in this class.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+28-0llvm/test/CodeGen/Thumb/inline-asm-tied-r12.ll
+2-0llvm/lib/Target/ARM/ARMRegisterInfo.td
+30-02 files