LLVM/project 6e19b5f — clang/lib/Lex HeaderSearch.cpp, clang/unittests/Lex HeaderSearchTest.cpp

Merge branch 'main' into users/topperc/tail-defs
DeltaFile
+200-0clang/unittests/Lex/HeaderSearchTest.cpp
+146-0libunwind/test/x86_64_extended_registers.pass.cpp
+122-0libunwind/test/x86_64_resume_extended_registers.pass.cpp
+75-27clang/lib/Lex/HeaderSearch.cpp
+87-7libunwind/src/Registers.hpp
+67-0libunwind/test/x86_64_getcontext_preserves_rbx.pass.cpp
+697-3426 files not shown
+1,043-6032 files

LLVM/project aa880f1 — llvm/lib/Target/RISCV RISCVInstrInfo.td RISCVAsmPrinter.cpp, llvm/lib/Target/RISCV/MCTargetDesc RISCVMCCodeEmitter.cpp

[RISCV] Make $rs an output of PseudoTAILReg. (#237443)

It's used as the temporary register for the AUIPC when expanded so it
should be an output.

Assisted-by: Claude
DeltaFile
+2-2llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
+1-1llvm/lib/Target/RISCV/RISCVInstrInfo.td
+1-1llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+4-43 files

LLVM/project 18ea4da — llvm/test/CodeGen/RISCV zcmp-cm-push-pop.mir zcmp-cm-popretz.mir

[RISCV] Add Defs to PseudoTAIL and PseudoTAILX7.

Annonyingly PseudoTAIL can def either X6 or X7 depending on Zicfilp
and the version of the assembler being used.

Part of fixing #235697.
DeltaFile
+12-12llvm/test/CodeGen/RISCV/machineoutliner.mir
+6-6llvm/test/CodeGen/RISCV/machine-outliner-position.mir
+6-6llvm/test/CodeGen/RISCV/machine-outliner-cfi.mir
+6-6llvm/test/CodeGen/RISCV/determine-callee-saves-gpr.mir
+4-4llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir
+4-4llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
+38-382 files not shown
+46-438 files

LLVM/project 29474e1 — libunwind/src libunwind.cpp Registers.hpp, libunwind/test x86_64_dwarf_registers.pass.cpp x86_64_getcontext_preserves_rbx.pass.cpp

[libunwind] Support extended amd64 segment registers on FreeBSD (#237265)

Raise the amd64 DWARF register limit to 59 and add RFLAGS, all six
segment selectors, FS.base, and GS.base to the register model. Capture
the extended state and restore it when resuming, using setcontext on
FreeBSD to restore selectors and bases together. Pack the state into the
existing context buffers without changing their public sizes or the
Windows XMM offsets.

Add tests for register access, signal-frame CFI recovery, register
bounds, and resume behavior.

Assisted-by: GPT
DeltaFile
+146-0libunwind/test/x86_64_extended_registers.pass.cpp
+122-0libunwind/test/x86_64_resume_extended_registers.pass.cpp
+87-7libunwind/src/Registers.hpp
+67-0libunwind/test/x86_64_getcontext_preserves_rbx.pass.cpp
+58-0libunwind/test/x86_64_dwarf_registers.pass.cpp
+52-0libunwind/src/libunwind.cpp
+532-76 files not shown
+602-1112 files

LLVM/project 0cb5427 — lldb/source/Target ThreadPlanCallFunction.cpp

Check stack are register context in ThreadPlanCallFunction::DoTakedown (#217759)

I get a couple of crashes a year in ThreadPlanCallFunction::DoTakedown
on the line where we get the PC from the thread. It looks like the
RegisterContext (or maybe GetStackFrameAtIndex(0)) are returning null.

The crashes are when the UI calls UnwindInnermostFrame so I know that
thread has to be valid. So the only possibilities I can think of are
that we couldn't reconstruct the stack frame at index 0 or its register
context. I don't know how that would happen, but there's no harm in
being more careful accessing the register context.
DeltaFile
+6-2lldb/source/Target/ThreadPlanCallFunction.cpp
+6-21 files

LLVM/project 4860ad7 — llvm/lib/Target/RISCV RISCVInstrInfo.td RISCVAsmPrinter.cpp, llvm/lib/Target/RISCV/MCTargetDesc RISCVMCCodeEmitter.cpp

[RISCV] Make $rs an output of PseudoTAILReg.

It's used as the temporary register for the AUIPC when expanded
so it should be an output.

Assisted-by: Claude
DeltaFile
+2-2llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
+1-1llvm/lib/Target/RISCV/RISCVInstrInfo.td
+1-1llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
+4-43 files

LLVM/project 7bc1d62 — compiler-rt/lib/sanitizer_common sanitizer_deadlock_detector.h, compiler-rt/test/tsan many_held_mutex.cpp

[tsan] Increase per-thread held lock limit in DeadlockDetectorTLS to 512 (#232882)

When running under ThreadSanitizer with deadlock detection enabled
(`detect_deadlocks=1`), `DeadlockDetectorTLS::addLock` enforces a hard
limit on the number of distinct locks a single thread may hold
simultaneously via `CHECK_LT(n_all_locks_,
ARRAY_SIZE(all_locks_with_contexts_))`.

Although #116409 previously raised this limit from 64 to 128, workloads
that initialize large RPC frameworks, worker pools, or sharded data
structures (such as C++ extensions under free-threaded Python) can hold
more than 128 locks simultaneously on one thread during initialization,
triggering a fatal `CHECK` failure.

Increase `all_locks_with_contexts_` capacity from 128 to 512. Each
`LockWithContext` entry is 8 bytes (`u32 lock; u32 stk;`), adding 3 KB
per heap-allocated `DDLogicalThread` when `detect_deadlocks=1` while
remaining well below `TwoLevelBitVector` capacity (`DDBV::kSize`, which
is 4096 on 64-bit platforms and 1024 on 32-bit platforms).

    [3 lines not shown]
DeltaFile
+1-1compiler-rt/test/tsan/many_held_mutex.cpp
+1-1compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h
+2-22 files

LLVM/project 65daedf — .ci/lnt/llvm-test-suite machines.json, .github/workflows llvm-test-suite-run.yml

[ci] Collect profiles in the LLVM test-suite LNT runs on Linux

Run the test-suite with `--use-perf all` on Linux, which collects profiling
data and submits it to LNT. Bump both machines since the version of the
test suite also changes.

Assisted by Claude
DeltaFile
+5-5.ci/lnt/llvm-test-suite/machines.json
+8-2.github/workflows/llvm-test-suite-run.yml
+13-72 files

LLVM/project 5e15a69 — llvm/docs Extensions.md, llvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp

[SHT_LLVM_BB_ADDR_MAP] Emit the function GUID for local-linkage functions (#237345)

Add the `-basic-block-address-map-emit-func-guid` flag to emit the
function GUID (the `FuncGUID` feature added in #231675) in the
SHT_LLVM_BB_ADDR_MAP section. The GUID is only emitted for functions
with local linkage, whose symbol names may not be unique across
translation units. Other functions can be identified by their symbol
names, so the feature bit is left unset for them.

The GUID assigned by AssignGUIDPass (`!guid` metadata) is used when
available. Otherwise, it is computed from the module's source file name
and the function's current name, since AssignGUIDPass only runs in the
(Thin)LTO pre-link pipelines.

This also bumps the emitted SHT_LLVM_BB_ADDR_MAP version to 6, which is
required for the FuncGUID feature.

Assisted-by: Claude Opus 5.5
DeltaFile
+65-0llvm/test/CodeGen/X86/basic-block-address-map-func-guid.ll
+19-1llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+3-3llvm/test/CodeGen/X86/basic-block-address-map-function-sections.ll
+2-2llvm/test/CodeGen/X86/basic-block-sections-pgo-features.ll
+3-1llvm/docs/Extensions.md
+1-1llvm/test/CodeGen/X86/basic-block-address-map.ll
+93-86 files not shown
+99-1412 files

LLVM/project b302d43 — clang/include/clang/Tooling DependencyScanningTool.h, clang/lib/DependencyScanning DependencyScanningWorker.cpp

Handle prebuilt modules.
DeltaFile
+25-0clang/unittests/Tooling/DependencyScannerTest.cpp
+6-0clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+2-1clang/include/clang/Tooling/DependencyScanningTool.h
+33-13 files

LLVM/project cfb6352 — clang/include/clang/DependencyScanning DependencyScanningWorker.h, clang/include/clang/Tooling DependencyScanningTool.h

[clang][DepScan] Introduce API to find modulemaps without loading

Introduce a way to batch look up the modulemap that defines
each of a set of module names.

`getModuleMapsForModules` builds a compiler instance from the same
command line as a by-name scan, then does every lookup in a separate
header search with lazy modulemap loading turned on and diagnostics
ignored.

The main use case is to let the Swift dependency scanner
invalidate its serialized dependency graph without the cost of loading
the referenced modules.

* Modulemaps passed with `-fmodule-map-file` are parsed first, all
  other modules are resolved by by-name header search.
DeltaFile
+160-0clang/unittests/Tooling/DependencyScannerTest.cpp
+91-6clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+33-6clang/lib/Tooling/DependencyScanningTool.cpp
+12-0clang/include/clang/Tooling/DependencyScanningTool.h
+9-0clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+305-125 files

LLVM/project b2af446 — clang/include/clang/Lex ModuleMap.h HeaderSearch.h, clang/lib/Lex ModuleMap.cpp HeaderSearch.cpp

[clang][HeaderSearch] Introduce API to find a module's module map without loading (#235835)

Add a new public interface `lookupModuleMapFileForModule` that behaves
like `lookupModule` but only relies on parsing modulemaps, except in the
inferred framework case.

* Add a public `parseModuleMapFile` that can parse files passed through
`-fmodule-map-file`.
* Both APIs require lazy modulemap loading enablement.
* Introduce several helpers to support the new API.
DeltaFile
+200-0clang/unittests/Lex/HeaderSearchTest.cpp
+75-27clang/lib/Lex/HeaderSearch.cpp
+36-4clang/include/clang/Lex/HeaderSearch.h
+12-0clang/lib/Lex/ModuleMap.cpp
+11-0clang/include/clang/Lex/ModuleMap.h
+334-315 files

LLVM/project 2c3f74b — llvm/include/llvm/CodeGen RegisterClassInfo.h, llvm/lib/CodeGen RegisterClassInfo.cpp

[AMDGPU] Assert that RewriteAGPRCopyMFMA sees current reserved registers

AMDGPURewriteAGPRCopyMFMA reads allocation orders from the shared
RegisterClassInfo after the VGPR allocator. If a change to the reserved
registers was not published to the analysis, it can be offered a reserved
register: its spill slot elimination then trips an assertion in VirtRegMap if it
happens to pick that register, and silently clobbers it without assertions.

Check on entry, before the subtarget early exit, that the analysis matches MRI's
frozen set, so every AMDGPU pipeline reaching the pass verifies it. Add
RegisterClassInfo::hasCurrentReservedRegs() for the comparison; it recomputes
nothing.

AI-assisted.
DeltaFile
+4-0llvm/lib/CodeGen/RegisterClassInfo.cpp
+4-0llvm/include/llvm/CodeGen/RegisterClassInfo.h
+3-0llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+11-03 files

LLVM/project a89569a — llvm/lib/Target/AMDGPU AMDGPUReserveWWMRegs.cpp

[AMDGPU] Stop publishing reserved registers from AMDGPUReserveWWMRegs

Remove the update, the TRI->getReservedRegs() call needed to produce it, and the
pass's RegisterClassInfo dependency.

Since #226523, the allocator immediately following this pass publishes the
reserved register set it freezes. Publishing here duplicates the computation and
leaves a window in which the shared analysis and MRI's frozen set disagree.

AI-assisted.
DeltaFile
+3-22llvm/lib/Target/AMDGPU/AMDGPUReserveWWMRegs.cpp
+3-221 files

LLVM/project 8b4c78c — llvm/lib/ExecutionEngine/Interpreter ExternalFunctions.cpp, llvm/test/ExecutionEngine/MCJIT interp-mangling-escape.ll

Address review: don't look up a '\01' name without the global prefix

A symbol without the target's global prefix has no C name, so looking it up
by the rest of its name found a different symbol (e.g. "\01printf" on Darwin
called libc's printf). Fall back to the IR name instead, as ORC's
DynamicLibrarySearchGenerator skips such symbols, and reword the comment. In
the test, drop the redundant -jit-kind=mcjit and add a case for this.

Assisted-by: Claude Opus 5.5
DeltaFile
+20-3llvm/test/ExecutionEngine/MCJIT/interp-mangling-escape.ll
+9-7llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
+29-102 files

LLVM/project eeef05a — lldb/test/API/tools/lldb-dap/server TestDAP_server.py, lldb/test/Shell/DAP TestPrivateSymbols.test

Revert "[lldb-dap] Don't share liblldb's log channels" (#237427)

Reverts llvm/llvm-project#235767

This broke the macOS x86 bot:
https://ci.swift.org/view/all/job/llvm.org/job/lldb-cmake/
DeltaFile
+0-22lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
+15-4lldb/tools/lldb-dap/DAP.cpp
+0-5lldb/test/Shell/DAP/TestPrivateSymbols.test
+15-313 files

LLVM/project a467767 — llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU permute_i8.ll

[AMDGPU] Avoid illegal types in the zero/any extend to perm combine (#235846)

performZeroOrAnyExtendCombine runs after type legalization and converts
the byte providers of the extended i16 to i32 with
getBitcastedAnyExtOrTrunc.
A provider can be a vector wider than 32 bits, for example a v8i16
bitcast of a v2i64 half of a <4 x i64> kernel argument.
Bitcasting it to an integer of the same width creates an i128, and
LegalizeDAG asserts with "Unexpected illegal type!".

Both bytes come from the first dword of their provider, so extract that
dword with getDWordFromOffset, as matchPERM does.
Providers of up to 32 bits take the same path as before.

AI-assisted.
DeltaFile
+64-0llvm/test/CodeGen/AMDGPU/permute_i8.ll
+2-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+66-22 files

LLVM/project 4039069 — lldb/test/API/tools/lldb-dap/server TestDAP_server.py, lldb/test/Shell/DAP TestPrivateSymbols.test

Revert "[lldb-dap] Don't share liblldb's log channels (#235767)"

This reverts commit 8c5407bfe39cd8d3dda3ce8e05a6fdeec14cdd4f.
DeltaFile
+0-22lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
+15-4lldb/tools/lldb-dap/DAP.cpp
+0-5lldb/test/Shell/DAP/TestPrivateSymbols.test
+15-313 files

LLVM/project ce7379a — llvm/lib/Target/AArch64 AArch64MacroFusion.cpp, llvm/test/CodeGen/AArch64 misched-fusion-apple-sme-compute-pre-ra.mir misched-fusion-apple-sme-compute.mir

[AArch64] Support virtual registers in SME clustering (#233892)

Previously we iterated over physical registers and used
`definesRegister` and `readsRegister` to test exact match with virtual
registers which would always be false. This patch changes the method to
test register class membership directly, and adds support for virtual
registers. The new pre-RA test would fail before this patch
(specifically `fuse_z_write`). The behavior is unchanged for physical
registers. We intentionally do not walk sub-regs/super-regs inside the
helpers because we dont need to as the callers provide exact class
lists. The new helpers takes an array of classes to reduce repeated
def/use iteration overhead.
DeltaFile
+0-201llvm/test/CodeGen/AArch64/misched-fusion-apple-sme-compute.mir
+201-0llvm/test/CodeGen/AArch64/misched-fusion-apple-sme-compute-post-ra.mir
+195-0llvm/test/CodeGen/AArch64/misched-fusion-apple-sme-compute-pre-ra.mir
+40-16llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
+436-2174 files

LLVM/project 783e13e — llvm/lib/Target/Mips MipsCodeGenPassBuilder.cpp MipsExpandPseudo.cpp, llvm/test/CodeGen/Mips newpm-pipeline.ll

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+417-427llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp
+336-345llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+287-0llvm/test/CodeGen/Mips/newpm-pipeline.ll
+128-119llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
+66-66llvm/lib/Target/Mips/MipsExpandPseudo.cpp
+117-0llvm/lib/Target/Mips/MipsCodeGenPassBuilder.cpp
+1,351-95711 files not shown
+1,581-1,03317 files

LLVM/project b794fda — llvm/lib/Target/Mips MipsCodeGenPassBuilder.cpp MipsExpandPseudo.cpp, llvm/test/CodeGen/Mips newpm-pipeline.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+417-427llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp
+336-345llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+290-0llvm/test/CodeGen/Mips/newpm-pipeline.ll
+128-119llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
+66-66llvm/lib/Target/Mips/MipsExpandPseudo.cpp
+117-0llvm/lib/Target/Mips/MipsCodeGenPassBuilder.cpp
+1,354-95712 files not shown
+1,649-1,06518 files

LLVM/project 4eff20c — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 pr235663.ll

[DAG] LowerShiftByScalarImmediate - early out for shift-by-zero cases (#237365)

Also, add assertions to getGFNICtrlImm that we don't try to shift by
zero

Fixes #235663
DeltaFile
+6-23llvm/test/CodeGen/X86/pr235663.ll
+13-3llvm/lib/Target/X86/X86ISelLowering.cpp
+19-262 files

LLVM/project ac5f8bb — llvm/lib/Target/Mips Mips.h MipsCodeGenPassBuilder.cpp, llvm/test/CodeGen/Mips newpm-pipeline.ll

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+417-427llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp
+284-0llvm/test/CodeGen/Mips/newpm-pipeline.ll
+128-119llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
+66-66llvm/lib/Target/Mips/MipsExpandPseudo.cpp
+117-0llvm/lib/Target/Mips/MipsCodeGenPassBuilder.cpp
+59-8llvm/lib/Target/Mips/Mips.h
+1,071-62010 files not shown
+1,225-68416 files

LLVM/project 602215e — llvm/lib/Target/Mips MipsCodeGenPassBuilder.cpp MipsExpandPseudo.cpp, llvm/test/CodeGen/Mips newpm-pipeline.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+417-427llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp
+336-345llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
+287-0llvm/test/CodeGen/Mips/newpm-pipeline.ll
+128-119llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
+66-66llvm/lib/Target/Mips/MipsExpandPseudo.cpp
+117-0llvm/lib/Target/Mips/MipsCodeGenPassBuilder.cpp
+1,351-95711 files not shown
+1,581-1,03317 files

LLVM/project b199913 — offload/liboffload/src OffloadImpl.cpp, offload/libompaccsupport device.cpp

[Offload] Manage all allocations through PluginCtx (#234758)

The current Memory Manager was making allocations through the
GenericDevice interface. In the cases, where the PlugintContext
interface calls that interface directly didn't matter, but when there's
a plugin implementation of PluginContext allocations they went through a
different path and were not tracked correctly.

In this PR we change the Memory Manager through alwasy allocate (pooled
& unpooled) memory through the PluginContext (still will go to a simple
device allocation by default) and all tracking done by the
GenericInterface and the Plugins is handled there to ensure consistency
through all paths.

Additionaly, libomptarget no longer uses the default context that was
artificially introduced for it as it has a now a context it can use.

Assisted by Claude.
DeltaFile
+129-122offload/plugins-nextgen/common/src/PluginInterface.cpp
+71-55offload/plugins-nextgen/common/include/PluginInterface.h
+11-31offload/plugins-nextgen/amdgpu/src/rtl.cpp
+40-2offload/libompaccsupport/device.cpp
+5-16offload/plugins-nextgen/host/src/rtl.cpp
+11-6offload/liboffload/src/OffloadImpl.cpp
+267-2329 files not shown
+299-25915 files

LLVM/project 6b99315 — clang/lib/Lex DependencyDirectivesScanner.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

Merge branch 'main' into users/void/pbqp-inline-asm-error
DeltaFile
+309-59llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
+31-31llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
+28-28llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
+33-17llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+15-17llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
+19-11clang/lib/Lex/DependencyDirectivesScanner.cpp
+435-16322 files not shown
+598-22528 files

LLVM/project 1235f1d — clang/docs ReleaseNotes.md, clang/lib/Lex DependencyDirectivesScanner.cpp

[clang][deps] Fix printing of object-like macros from dep directives (#200458)

Preserve the necessary whitespace between the macro name and the body
when an object-like macro starts with lparen. Otherwise it accidentally
turns into an invalid function-like macro.

Incidentally extend some tests to verify the resulting printed
directives are valid preprocessing input.
DeltaFile
+19-11clang/lib/Lex/DependencyDirectivesScanner.cpp
+19-0clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
+17-0clang/test/Lexer/minimize_source_to_dependency_directives_function_macros.c
+7-1clang/test/Lexer/minimize_source_to_dependency_directives_pragmas.c
+3-1clang/test/Lexer/minimize_source_to_dependency_directives_utf8bom.c
+1-0clang/docs/ReleaseNotes.md
+66-131 files not shown
+67-137 files

LLVM/project 0d387de — llvm/lib/Transforms/Utils LoopUtils.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

[LV] Model memory runtime checks for inner loops of loop nests in VPlan. (#232794)

Remove the restriction that kept the IR-generated memcheck block for
loops with a parent loop. When hoisting runtime checks, they are
rewritten so they hold across the outer loop and are expanded before the
entry block to the VPlan, using the regular IR expander.

This patch exposes getRuntimeCheckBounds, which does the rewrite, and
marks such rewritten bounds as requiring expansion in IR. VPSCEVExpander
takes a loop as optional argument and uses VPExpandSCEVRecipes for
expressions that are invariant in the loop.

PR: https://github.com/llvm/llvm-project/pull/232794
DeltaFile
+309-59llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
+31-31llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
+28-28llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
+33-17llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+15-17llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
+19-11llvm/lib/Transforms/Utils/LoopUtils.cpp
+435-16315 files not shown
+531-21221 files

LLVM/project 6b6b83c — llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll amdgcn.bitcast.832bit.ll

Merge branch 'main' into users/void/pbqp-inline-asm-error

bd51cc5c5556 (#226523) made RegAllocBase::RegClassInfo a pointer to the
shared RegisterClassInfo, so the call to assignFailedVirtReg() dereferences it.

Assisted-by: Claude Opus 5.5
DeltaFile
+88,705-91,244llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,383-26,405llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,311-9,381llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+8,998-9,209llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+8,016-8,194llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+7,335-7,432llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+147,748-151,8654,025 files not shown
+387,898-336,0934,031 files

LLVM/project b50f587 — llvm/test/CodeGen/AMDGPU memintrinsic-unroll.ll amdgcn.bitcast.832bit.ll

Merge branch 'users/void/asm-rm-4-regallocfast-fold' into users/void/asm-rm-5-prefer-reg
DeltaFile
+88,705-91,244llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+25,383-26,405llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+9,311-9,381llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+8,998-9,209llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+8,016-8,194llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
+7,335-7,432llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+147,748-151,8655,030 files not shown
+458,948-359,0355,036 files