LLVM/project 0053d55 — compiler-rt/lib/dasan dasan_image.cpp dasan_platform.cpp, compiler-rt/lib/sanitizer_common sanitizer_offload.cpp

[compiler-rt] Add Device AddressSanitizer runtime

Host and device runtime for dasan, built on the sanitizer_common offload
layer. The common layer gains the HSA pieces dasan needs: pool and agent
queries, virtual memory reservation and sharing, code object enumeration,
cache publication, and device symbolization. The runtime keeps the
allocator, global aliasing, and report formatting. Each device begins on
its own metadata granule, so an entry load stays on the device that owns
the object.

The runtime follows ubsan's offload shape: HSA interceptors that report HSA
as absent when it is not loaded, a dasan-preinit archive, static and shared
runtimes, a receive-only RPC handler on SANITIZER_OFFLOAD_DASAN, and lit
tests on the common GPU substitutions. The report handlers elect the first
active lane, which is the first failing one, and take their return address
as the location of the access. Host checks call __dasan_report_load and
__dasan_report_store and take the caller's frame.

Fine-grain pools are placed only when the AMD extension honors pool flags

    [5 lines not shown]
DeltaFile
+792-0compiler-rt/lib/dasan/dasan_allocator.cpp
+466-65compiler-rt/lib/sanitizer_common/sanitizer_offload.cpp
+448-0compiler-rt/lib/dasan/dasan_hsa_interceptors.cpp
+446-0compiler-rt/lib/dasan/dasan_report.cpp
+332-0compiler-rt/lib/dasan/dasan_platform.cpp
+283-0compiler-rt/lib/dasan/dasan_image.cpp
+2,767-6556 files not shown
+6,125-8362 files

LLVM/project 7d74fb8 — clang/lib/Driver SanitizerArgs.cpp, clang/lib/Driver/ToolChains HIPAMD.cpp Clang.cpp

always pass dasan even w/o runtime
DeltaFile
+16-4clang/test/Driver/fsanitize-daddress-offload.c
+8-4clang/lib/Driver/SanitizerArgs.cpp
+4-6clang/lib/Driver/ToolChains/Clang.cpp
+9-0clang/test/Driver/fsanitize-daddress.c
+2-1clang/lib/Driver/ToolChains/HIPAMD.cpp
+39-155 files

LLVM/project d9ff8bb — mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM control-flow-ops-to-llvm.mlir

[mlir][SPIR-V] Fix SPIRVToLLVM crash on spirv.mlir.loop with results (#238895)

Loop results were never passed to the code after the loop, so conversion
crashed
DeltaFile
+24-0mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
+7-0mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+31-02 files

LLVM/project ccd0da2 — mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM gl-ops-to-llvm.mlir

[mlir][SPIR-V] Add SPIRVToLLVM conversions for GL.Asinh and GL.Acosh (#239249)
DeltaFile
+31-0mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+23-0mlir/test/Conversion/SPIRVToLLVM/gl-ops-to-llvm.mlir
+54-02 files

LLVM/project ce71286 — llvm/test/CodeGen/AMDGPU llvm.set.rounding.ll amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel irtranslator-function-args.ll

AMDGPU: Promote 16-bit arguments to i32 in the calling convention

Promote i16, f16 and bf16 arguments to i32 in the calling convention
when they are inreg or real true16 is not used, instead of special
casing the copy type in LowerFormalArguments. The manual call lowering
code can now rely on LocVT / ArgVT.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+752-1,412llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
+604-1,128llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+342-342llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+231-231llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+106-314llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
+53-83llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
+2,088-3,5109 files not shown
+2,194-3,73015 files

LLVM/project 4a57548 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Report side effects of volatile loads and memory asm operands

cir.load, cir.get_bitfield and cir.matrix.column_major_load declared only
a read of their address, so dead code elimination erased them when the
result was unused, even when the load was volatile or atomic. A cir.asm
with a memory operand such as "=*m" and no result was erased the same
way. A volatile or atomic load now also reports unknown read and write
effects, as the LLVM dialect does, and an inline asm reports a read and
a write of each memory operand.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+46-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+42-0clang/test/CIR/Transforms/side-effects-dce.cir
+9-6clang/include/clang/CIR/Dialect/IR/CIROps.td
+97-63 files

LLVM/project a6cbca4 — llvm/lib/Support MemAlloc.cpp

Support: Only use aligned allocation in allocate_buffer when needed (#242674)

allocate_buffer always used aligned operator new, which is much slower
than plain operator new. Plain operator new already guarantees
__STDCPP_DEFAULT_NEW_ALIGNMENT__, which covers most callers, such as
DenseMap. Only use the aligned form for larger alignments.

CTMark instructions:u: O3 -0.13%, ThinLTO -0.12%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+16-7llvm/lib/Support/MemAlloc.cpp
+16-71 files

LLVM/project 1be8b47 — clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/CodeGen dasan-new-pm.c sanitize-device-address-attr.cpp

[Clang] Add -fsanitize=daddress for Device AddressSanitizer

Wire the sanitizer through the driver, codegen, and preprocessor. Emit
sanitize_device_address, run the dasan pass, and link the dasan runtime
on AMDGPU offload and supported Linux hosts.

RFC: https://discourse.llvm.org/t/rfc-add-a-device-address-sanitizer-for-gpus-dasan/92710
DeltaFile
+79-0clang/test/Driver/fsanitize-daddress-offload.c
+53-0clang/test/CodeGen/sanitize-device-address-attr.cpp
+43-0clang/test/CodeGen/dasan-new-pm.c
+43-0clang/test/Driver/fsanitize-daddress.c
+14-0clang/test/Lexer/has_feature_address_sanitizer.cpp
+13-0clang/lib/Driver/ToolChains/CommonArgs.cpp
+245-017 files not shown
+301-423 files

LLVM/project 5ce00ee — llvm/lib/Transforms/Instrumentation DeviceAddressSanitizer.cpp, llvm/test/Instrumentation/DeviceAddressSanitizer do-not-internalize.ll

comments
DeltaFile
+2-0llvm/test/Instrumentation/DeviceAddressSanitizer/do-not-internalize.ll
+1-0llvm/lib/Transforms/Instrumentation/DeviceAddressSanitizer.cpp
+3-02 files

LLVM/project 550fb6a — clang/lib/CIR/Dialect/IR CIRDialect.cpp, clang/lib/CIR/Dialect/Transforms CIRCanonicalize.cpp

[CIR] Make cir-canonicalize a full canonicalizer

cir-canonicalize applied the CIR canonicalization patterns and folders
only to a hand-written list of operations. It now builds the pattern set
once in initialize() and runs the greedy driver over every operation, so
every pattern and folder applies everywhere. Dead code elimination is
disabled: CIR stays close to the source, so unused locals and ignored
expressions are kept as in classic codegen, and only the inputs of a
folded operation can be left unused. Empty scopes and switches were
removed only because they were dead, so they get explicit
canonicalization patterns.

The pass uses the multi-op driver because the region driver always
erases blocks without a CFG predecessor, and a block that starts with
cir.label is reached only through cir.goto until the goto solver runs.
Region simplification stays off for the same reason. The new
test-convergence option fails the pass when the driver does not reach a
fixpoint, as in the upstream canonicalizer.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+48-58clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
+48-0clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
+42-0clang/test/CIR/Transforms/canonicalize-dead-code.cir
+28-11clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+29-2clang/test/CIR/Transforms/canonicalize.cir
+30-0clang/test/CIR/Transforms/vector-cmp-fold.cir
+225-7135 files not shown
+383-8441 files

LLVM/project 2fe0ea7 — flang/lib/Semantics resolve-directives.cpp

[flang][OpenMP] Move OmpAttributeVisitor members out of line, NFC (#242658)

The function body was getting difficult to read with many long functions
defined inline.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+1,434-1,362flang/lib/Semantics/resolve-directives.cpp
+1,434-1,3621 files

FreeBSD/ports d340ae3 — www/p5-W3C-LogValidator distinfo pkg-plist, www/p5-W3C-LogValidator/files patch-Makefile.PL

www/p5-W3C-LogValidator: Update 1.4 => 1.5

* Clarify LICENSE
* Mark as arch-independent
* Fix and simplify post-install
* Pet portclippy(1) and portfmt(1)
DeltaFile
+17-16www/p5-W3C-LogValidator/Makefile
+9-9www/p5-W3C-LogValidator/pkg-plist
+4-4www/p5-W3C-LogValidator/files/patch-Makefile.PL
+3-2www/p5-W3C-LogValidator/distinfo
+33-314 files

FreeBSD/ports 8d36308 — www/p5-webservice-validator-css-w3c pkg-plist distinfo

www/p5-webservice-validator-css-w3c: Update 0.2 => 0.3

* Clarify LICENSE
* Mark as arch-independent
* Add optional EXAMPLES
* Pet portclippy(1) and portfmt(1)
DeltaFile
+17-5www/p5-webservice-validator-css-w3c/Makefile
+3-2www/p5-webservice-validator-css-w3c/distinfo
+2-1www/p5-webservice-validator-css-w3c/pkg-plist
+22-83 files

LLVM/project 37bc750 — llvm/lib/Transforms/Instrumentation DeviceAddressSanitizer.cpp, llvm/test/Instrumentation/DeviceAddressSanitizer rooting.ll debug.ll

[LLVM] Add DeviceAddressSanitizer instrumentation pass

Instrument loads, stores, and memory intrinsics against dasan's
size-class metadata. The handler locates the access by its return
address, so each check calls a report of its own that is never merged,
inlined, or tail called. On AMDGPU, keep the dispatch pointer that
shared memory checks read, and preserve the __dasan_ entry points.

AMDGPU keeps one decode per inbounds root and selects the zero word for
an outside pointer, so the load can be hoisted and the wave does not
branch. Elsewhere an outside pointer is the common case, so membership
is a branch and the decode is its cold side. Global relocation defaults
to AMDGPU and follows -dasan-instrument-globals when set. The metadata
pointer uses the data layout's default globals address space.

RFC: https://discourse.llvm.org/t/rfc-add-a-device-address-sanitizer-for-gpus-dasan/92710
DeltaFile
+879-0llvm/lib/Transforms/Instrumentation/DeviceAddressSanitizer.cpp
+403-0llvm/test/Instrumentation/DeviceAddressSanitizer/basic.ll
+282-0llvm/test/Instrumentation/DeviceAddressSanitizer/shared.ll
+123-0llvm/test/Instrumentation/DeviceAddressSanitizer/globals.ll
+90-0llvm/test/Instrumentation/DeviceAddressSanitizer/debug.ll
+68-0llvm/test/Instrumentation/DeviceAddressSanitizer/rooting.ll
+1,845-012 files not shown
+2,014-018 files

LLVM/project 96eff5f — llvm/test/Transforms/CodeExtractor PartialInlineAttributes.ll, llvm/test/Transforms/GVN no_speculative_loads_with_asan.ll

update comments
DeltaFile
+40-0llvm/test/Transforms/GVN/no_speculative_loads_with_asan.ll
+3-3llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
+2-0llvm/test/Transforms/HotColdSplit/X86/do-not-split.ll
+45-33 files

NetBSD/src fnlvc7w — sys/arch/amiga/amiga locore.s, sys/arch/atari/atari locore.s

   Re-work AST processing, eliminating the global "astpending" variable.
   The need for an AST is now tracked on a per-LWP basis (patterned after
   the Alpha port).

   The elimination of the "astpending" global necessitated an overhaul
   of the code flow for checking for them.  The old rei code block leveraged
   that "astpending" could be checked without having to use a register.
   Now, a register must be used, so the check for pending ASTs needs to
   be done before registers are restored after a trap.  So, a couple of
   new asm macros are introduced to aid in this split-duty regime:

   - CHECK_ASTPENDING() uses the specified scratch register to check for
     pending ASTs and sets the Z flag accordingly (Z set == no pending AST).
   - RTE_AST replaces the old pattern of unconditionally branching to the
     rei code block and instead conditionally branches to the now-renamed-to-
     rte_ast code block and perfors an RTE if the branch is not taken.  This
     makes the code ever so slightly larger, but actually eliminates a branch
     in the case where an AST was not pending.


    [21 lines not shown]
VersionDeltaFile
1.147+35-66sys/arch/atari/atari/locore.s
1.45+52-15sys/arch/m68k/include/asm.h
1.193+19-40sys/arch/amiga/amiga/locore.s
1.31+32-21sys/arch/m68k/m68k/trap_subr.s
1.166+17-22sys/arch/x68k/x68k/locore.s
1.122+13-24sys/arch/news68k/news68k/locore.s
+168-18823 files not shown
+262-31929 files

LLVM/project 6819dbc — llvm/tools/llvm-objdump MachODump.cpp llvm-objdump.h

[llvm-objdump] Parse -mllvm options into a context (#242688)

Parse -M att/intel and -mllvm into a cl::LibraryOptionsContext instead
of the global option values, otherwise  --x86-asm-syntax=att will become
unrecognized when we reject library options in the legacy
cl::ParseCommandLineOptions.
DeltaFile
+3-1llvm/tools/llvm-objdump/llvm-objdump.cpp
+2-0llvm/tools/llvm-objdump/llvm-objdump.h
+1-0llvm/tools/llvm-objdump/MachODump.cpp
+6-13 files

Linux/linux 23c6230 — drivers/xen gntdev.c platform-pci.c

Merge tag 'for-linus-7.4a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fixes from Juergen Gross:
 "A bunch of isolated fixes of Xen related drivers"

* tag 'for-linus-7.4a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
  Xen/gnttab: improve error handling in gnttab_dma_{alloc,free}_pages()
  xen: don't allow gnttab_dma_[alloc|free]_pages() in PV guest
  xen/pvcalls: destroy the per-socket workqueue on release
  xen/pvcalls: unwind pvcalls_new_active_socket() step by step
  xen/privcmd: fix double free when an irqfd is shut down twice
  xen/gntdev: fix deadlock between map ioctl and mmap
  xen/platform-pci: Disable device before releasing PCI regions
  xen/grant-table: annotate on-stack work in gnttab_unmap_refs_sync()
DeltaFile
+41-7drivers/xen/grant-table.c
+16-10drivers/xen/pvcalls-back.c
+15-0drivers/xen/privcmd.c
+7-7drivers/xen/platform-pci.c
+6-2drivers/xen/gntdev.c
+85-265 files

Linux/linux 54975c6 — drivers/hwmon sy7636a-hwmon.c nct6775-core.c, drivers/hwmon/pmbus mp2975.c

Merge tag 'hwmon-for-v7.4-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

 - Read tracking-mode voltage fault limits dynamically in the mp2975
   PMBus driver instead of caching probe-time snapshots, avoiding false
   over-voltage alarms when CPU voltage changes at runtime.

 - Fix SCMI sensor probe by enabling supported sensors via firmware IDs
   before exposing channels and checking channel config allocations.

 - Fix runtime PM enable and reference count imbalances during probe and
   teardown in the gpio-fan driver.

 - Fix max31760 fan controller initialization and reporting, including
   leaving standby at probe, initial 0 RPM reporting, and swapped
   temperature limit registers.

 - Assorted minor sensor reading, interval clamping, and register

    [14 lines not shown]
DeltaFile
+115-92drivers/hwmon/pmbus/mp2975.c
+13-12drivers/hwmon/scmi-hwmon.c
+11-13drivers/hwmon/gpio-fan.c
+7-5drivers/hwmon/max31760.c
+2-4drivers/hwmon/nct6775-core.c
+1-1drivers/hwmon/sy7636a-hwmon.c
+149-1271 files not shown
+150-1287 files

LLVM/project 1702711 — llvm/include/llvm/Option LibraryOptions.h LibraryOptions.td, llvm/include/llvm/Support CommandLine.h

[Option] Remove OptionsStruct's perContext (#242682)

Every ported library declares its options per context. Make `T::Global`
private in every struct.
DeltaFile
+19-14llvm/unittests/Option/LibraryOptionsTest.cpp
+5-12llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
+1-9llvm/include/llvm/Support/CommandLine.h
+3-4llvm/lib/Support/CommandLine.cpp
+1-3llvm/include/llvm/Option/LibraryOptions.td
+1-2llvm/include/llvm/Option/LibraryOptions.h
+30-442 files not shown
+31-468 files

NetBSD/src BnXFELd — external/gpl3/gdb/dist/gdb netbsd-nat.c

   in gdb lid == 0 means the main process, so convert back to 0 if pid == lid
VersionDeltaFile
1.9+1-1external/gpl3/gdb/dist/gdb/netbsd-nat.c
+1-11 files

LLVM/project 9adcf4a — llvm/test/CodeGen/AMDGPU llvm.amdgcn.make.buffer.rsrc.ll vector-reduce-xor.ll

AMDGPU: Copy 16-bit arguments in 32-bit registers as i32 and truncate

A 16-bit argument passed in an SGPR, or in a VGPR without real true16,
lives in the low half of a full 32-bit register. Copy the argument as
i32 and truncate it rather than reading it with a 16-bit CopyFromReg of
the 32-bit live-in register. With real true16 a 16-bit VGPR value has its
own register class, so it is still copied directly.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+115-144llvm/test/CodeGen/AMDGPU/arbitrary-fp-to-float.ll
+107-121llvm/test/CodeGen/AMDGPU/bf16.ll
+100-74llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
+57-109llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
+52-103llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
+73-78llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
+504-62947 files not shown
+1,148-1,39953 files

OPNSense/core a2288d2 — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api AliasController.php, src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes AliasContentField.php

Firewall: Aliases - remove unused "EU" workaround (Maxmind seems to have removed these entries) and add Kosovo which isn't in IANA's list. closes https://github.com/opnsense/core/issues/11210
DeltaFile
+3-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/AliasController.php
+1-2src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php
+4-42 files

FreeBSD/ports 578cead — misc/deco Makefile

misc/deco: Mark DEPRECATED

PR:             294772
Approved by:    osa, fluffy (mentors, implicit)
MFH:            2026Q4

(cherry picked from commit ec0fdbbe68c4462cb9294c11593847ab23d8daca)
DeltaFile
+4-1misc/deco/Makefile
+4-11 files

OPNSense/core 4b19d33 — src/opnsense/service/templates/OPNsense/Unbound/core blocklists.conf

Remove deprecated blocklist entries (#11212)
DeltaFile
+0-18src/opnsense/service/templates/OPNsense/Unbound/core/blocklists.conf
+0-181 files

LLVM/project 18f8e6e — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

clang-format
DeltaFile
+6-6llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+6-61 files

FreeBSD/ports ec0fdbb — misc/deco Makefile

misc/deco: Mark DEPRECATED

PR:             294772
Approved by:    osa, fluffy (mentors, implicit)
MFH:            2026Q4
DeltaFile
+4-1misc/deco/Makefile
+4-11 files

FreeBSD/ports 2880396 — www/imaginary distinfo Makefile

www/imaginary: update to 2.5.1

Switch to the supported fork on GitLab, bump epoch because of the
versioning schema change.
DeltaFile
+8-12www/imaginary/Makefile
+5-13www/imaginary/distinfo
+13-252 files

LLVM/project a472f20 — llvm/test/CodeGen/AMDGPU licm-regpressure-peak.mir, llvm/test/CodeGen/NVPTX atomicrmw-elementwise-sm90.ll atomicrmw-elementwise-sm70.ll

[MachineLICM] Track peak register pressure when hoisting

The pressure check in MachineLICM only looks at the estimates saved in
BackTrace. These record pressure at block boundaries, so they can miss an
earlier peak in the current BB or an ancestor BB. If pressure falls before the
candidate, the check can allow it to move even though its def then needs to stay
live across that earlier peak. This can push pressure beyond the limit and cause
spills.

This PR adds PeakPressure alongside RegPressure and saves the previous peak with
the existing boundary estimate in BackTrace. The pressure check considers the
current BB's peak and both saved estimates. Normal hoists adjust the current and
saved peaks, and scope exit restores the previous peak. Preheader scanning skips
peak updates and seeds the starting pressure from its final estimate.

Fixes LCOMPILER-3233.

This PR was assisted by AI but I reviewed all the changes.
DeltaFile
+412-412llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm70.ll
+412-412llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm60.ll
+604-0llvm/test/CodeGen/AMDGPU/licm-regpressure-peak.mir
+263-263llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
+92-108llvm/test/CodeGen/RISCV/rvv/pr165232.ll
+65-65llvm/test/CodeGen/NVPTX/atomicrmw-elementwise-sm90.ll
+1,848-1,26011 files not shown
+2,186-1,57217 files

LLVM/project 85099e6 — llvm/lib/CodeGen RegisterClassInfo.cpp, llvm/test/CodeGen/AMDGPU regpressure-stress-regalloc.mir av-split-dead-valno-crash.ll

[CodeGen] Honor -stress-regalloc in register pressure limits

computePSetLimit falls back to the target pressure limit when the reserved
register weight is at least that limit. This avoids underflow, but loses
allocation restrictions such as -stress-regalloc.

Bound this fallback by the remaining allocatable register weight. The
allocatable count already includes the stress limit. Keep the existing
subtraction when it leaves a positive limit and the zero-allocation
fallback.

Add an AMDGPU MIR test for stress limits that block or allow hoisting.
Add an X86 MIR test to check that a stress value which clips no allocation
order preserves the normal pressure adjustment and hoisting result.
Update the affected AMDGPU stress test.

Validation: all 51 stress-regalloc tests pass with MachineLICM unchanged.
With the stacked MachineLICM change, the full LLVM suite has 80,791 passes
and no unexpected failures.

    [2 lines not shown]
DeltaFile
+43-45llvm/test/CodeGen/AMDGPU/av-split-dead-valno-crash.ll
+83-0llvm/test/CodeGen/AMDGPU/regpressure-stress-regalloc.mir
+6-4llvm/lib/CodeGen/RegisterClassInfo.cpp
+132-493 files