LLVM/project eae0924clang/docs ReleaseNotes.md, clang/lib/Sema SemaType.cpp

[clang][Sema] Preserve CV qualifiers when applying pointer and funcref attributes (#211709)

This patch fixes a bug in handleMSPointerTypeQualifierAttr and
HandleWebAssemblyFuncrefAttr where applying these pointer attributes
would implicitly drop top-level CV qualifiers (like `const`, `volatile`,
and `restrict`) from the pointer type.
DeltaFile
+19-0clang/test/SemaCXX/ms-ptr-qualifiers.cpp
+8-2clang/lib/Sema/SemaType.cpp
+3-0clang/test/SemaCXX/wasm-funcref.cpp
+2-0clang/docs/ReleaseNotes.md
+32-24 files

LLVM/project 4d575e7lld/ELF Relocations.cpp SyntheticSections.cpp, lld/test/ELF aarch64-thunk-bti.s arm-bl-v4t.s

[ELF] Sort forward thunks by destination to prevent convergence failures (#211721)

A thunk's distance to a forward destination grows when a thunk after it
grows.

For
```
[forward A B C] dstA dstB dstC
```

When all thunks are initially short, promoting C can push B to be
enlarged on the following pass, which in turn pushes A to be promoted on
the following pass. Promoting just one thunk on a pass can therefore
trigger "address assignment did not converge".

Sort each ThunkSection once pass 0 has created its thunks. A forward
thunk's distance grows only when a thunk after it grows, so order
forward thunks by descending destination. A backward thunk's distance
grows only with a promotion before it, already applied when we reach

    [9 lines not shown]
DeltaFile
+99-0lld/test/ELF/aarch64-thunk-sort.s
+26-0lld/ELF/SyntheticSections.cpp
+10-10lld/test/ELF/ppc64-call-reach.s
+8-8lld/test/ELF/arm-bl-v4t.s
+3-3lld/test/ELF/aarch64-thunk-bti.s
+5-1lld/ELF/Relocations.cpp
+151-2229 files not shown
+199-6735 files

LLVM/project 2b64886llvm/lib/IR AutoUpgrade.cpp

Remove reliance on VPIntrinsic
DeltaFile
+201-53llvm/lib/IR/AutoUpgrade.cpp
+201-531 files

LLVM/project 462b109clang/docs ReleaseNotes.md, clang/lib/ExtractAPI/Serialization SymbolGraphSerializer.cpp

[clang][ExtractAPI] Fix assertion on invalid UTF-8 in doc comments (#212394)

A doc comment can contain invalid UTF-8. The raw bytes reach
serializeDocComment, which assigned them to a llvm::json::Value,
tripping its valid-UTF-8 assertion. This is hit by legacy headers that
are not UTF-8 encoded, which compile fine but crash -extract-api.

Sanitize with json::isUTF8/fixUTF8 before serializing.

Fixes #212393
DeltaFile
+18-0clang/test/ExtractAPI/invalid_utf8_doc_comment.c
+5-1clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
+2-0clang/docs/ReleaseNotes.md
+25-13 files

LLVM/project aee4691llvm/lib/Transforms/Utils Local.cpp, llvm/test/Transforms/SimplifyCFG switch-default-fold-weight-overflow.ll

Merge branch 'main' into users/eas/vplan-based-stride-mv-tests
DeltaFile
+45-0llvm/test/Transforms/SimplifyCFG/switch-default-fold-weight-overflow.ll
+4-2llvm/lib/Transforms/Utils/Local.cpp
+49-22 files

LLVM/project 5b3df5ellvm/test/Transforms/LoopVectorize/VPlan vplan-based-stride-mv.ll

Add --filter-out-after "ir-bb<header>"
DeltaFile
+1-522llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
+1-5221 files

LLVM/project 4674ce3llvm/lib/Transforms/Utils Local.cpp, llvm/test/Transforms/SimplifyCFG switch-default-fold-weight-overflow.ll

[SimplifyCFG] Fix branch-weight overflow when folding switch case into default (#212520)

The overflow guard added in #178964 for merging a switch case's weight
into the default's calls fitWeights() to downscale the weights, but the
returned value was never assigned back to Weights, so the downscale
didn't take effect. As a result, a default+case sum that overflows
uint64_t would wrap around, turning a dominant default weight into a
small, incorrect one.

Assign fitWeights()'s result back to Weights before the addition so the
downscale takes effect as intended.
DeltaFile
+45-0llvm/test/Transforms/SimplifyCFG/switch-default-fold-weight-overflow.ll
+4-2llvm/lib/Transforms/Utils/Local.cpp
+49-22 files

LLVM/project 73f41dfllvm/test/CodeGen/AMDGPU maximumnum.ll amdgcn.bitcast.1024bit.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-load-private.mir legalize-load-local.mir

Merge remote-tracking branch 'origin/main' into users/eas/vplan-based-stride-mv-tests
DeltaFile
+9,398-9,218llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+6,993-6,921llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
+13,068-0llvm/test/CodeGen/RISCV/GlobalISel/atomicrmw-max-min-umax-umin.ll
+6,560-6,119llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+5,803-5,808llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
+5,575-5,393llvm/test/CodeGen/AMDGPU/maximumnum.ll
+47,397-33,4599,028 files not shown
+490,821-354,6349,034 files

LLVM/project 65e373allvm/cmake config-ix.cmake, llvm/test lit.site.cfg.py.in lit.cfg.py

[Darwin] Improve ld64 based configs (#212329)

Improve and fix the llvm configurations so that:
* Do not look for ld64 when building or testing. The new apple linker is
  compatible with the classic ld64 and the ld64 is removed in Xcode 27.
  Build and test should not fall back to ld64 or use `-ld-classic`.
* For LTO lit tests, they will fail if `CMAKE_OSX_SYSROOT` is not
  specified. Fix the tests so that inferred SYSROOT also work with those
  tests.
DeltaFile
+3-14llvm/cmake/config-ix.cmake
+5-7llvm/test/lit.cfg.py
+1-0llvm/test/lit.site.cfg.py.in
+9-213 files

LLVM/project 85a2f1cllvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp

Change signature.
DeltaFile
+4-5llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+2-2llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+6-72 files

LLVM/project 6e71e21llvm/test/CodeGen/SPIRV/debug-info debug-function-definition.ll

Fix path check.
DeltaFile
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll
+1-11 files

LLVM/project 65f73adllvm/lib/Target/SPIRV SPIRVAsmPrinter.cpp SPIRVNonSemanticDebugHandler.h

[SPIRV] Drive DebugFunctionDefinition placement via begin/endInstruction

Replace the SPIRV-specific notifyMachineInstructionEmitted() callback with
DebugHandlerBase::beginInstruction()/endInstruction().
Keep notifyEntryLabelEmitted() for the synthesized entry OpLabel, which
has no MachineInstr.
DeltaFile
+22-14llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+8-12llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+2-5llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
+32-313 files

LLVM/project 583b986llvm/test/CodeGen/SPIRV/debug-info debug-function-definition.ll

Improve test.
DeltaFile
+19-4llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll
+19-41 files

LLVM/project 240f2ddllvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp

Remove CachedExtInstSetReg.
DeltaFile
+2-9llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+3-2llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+5-112 files

LLVM/project ecc33b0llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h

Keep original comment.
DeltaFile
+3-0llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+3-01 files

LLVM/project c820e9bllvm/lib/Target/SPIRV SPIRVAsmPrinter.cpp SPIRVNonSemanticDebugHandler.h, llvm/test/CodeGen/SPIRV/debug-info debug-function-definition-after-opvariable.ll debug-function-definition.ll

Implement support for NSDI DebugFunctionDefinition.
DeltaFile
+160-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+50-21llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+40-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll
+36-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition-after-opvariable.ll
+14-3llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
+300-305 files

LLVM/project aba011fllvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp

Implement support for NSDI DebugFunction opcode.
DeltaFile
+6-0llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+6-01 files

LLVM/project 76e0026llvm/test/CodeGen/SPIRV/debug-info debug-function-namespace-scope.ll

Fix negative checks.
DeltaFile
+5-2llvm/test/CodeGen/SPIRV/debug-info/debug-function-namespace-scope.ll
+5-21 files

LLVM/project b9f41b7llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp SPIRVNonSemanticDebugHandler.h

Rename function.
DeltaFile
+6-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+3-3llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+9-92 files

LLVM/project 77285a4llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp

Simplify loops.
DeltaFile
+2-7llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+2-71 files

LLVM/project 76e80b9llvm/test/CodeGen/SPIRV/debug-info debug-function.ll

Fix path separators.
DeltaFile
+1-1llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll
+1-11 files

LLVM/project b0ce7e0llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-function-with-declaration.ll debug-function-namespace-scope.ll

Implement support for NSDI DebugFunction opcode.
DeltaFile
+57-1llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+43-0llvm/test/CodeGen/SPIRV/debug-info/debug-function.ll
+41-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-namespace-scope.ll
+37-0llvm/test/CodeGen/SPIRV/debug-info/debug-function-with-declaration.ll
+21-7llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+199-85 files

LLVM/project 006ca3flibc/src/__support/GPU utils.h

[libc] Fix Global addrspace
DeltaFile
+1-1libc/src/__support/GPU/utils.h
+1-11 files

LLVM/project 1264472llvm/test/CodeGen/AMDGPU mixed-vmem-types.ll, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-sub.mir regbankselect-add.mir

AMDGPU/GlobalISel: Fix Vcc reg bank apply method for sgpr i1 input

Need to clean up high bits on sgpr bool use, simlar to Sgpr32AExtBoolInReg.
G_AMDGPU_COPY_VCC_SCC assumes clean (zero) high bits in sgpr i32 input.
This should be combined away in most cases, for example if input is result
of a compare. But should stay for example for truncated input from s_load.
DeltaFile
+106-72llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
+60-20llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
+13-12llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
+14-10llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-add.mir
+16-8llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
+8-4llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sub.mir
+217-12615 files not shown
+292-15121 files

LLVM/project 8f83848llvm/test/CodeGen/SPIRV/debug-info debug-function-definition.ll

Improve test.
DeltaFile
+19-4llvm/test/CodeGen/SPIRV/debug-info/debug-function-definition.ll
+19-41 files

LLVM/project 3a30af9openmp/device/include DeviceTypes.h

[OpenMP][offload] Fix Global addrspace (#212529)
DeltaFile
+1-1openmp/device/include/DeviceTypes.h
+1-11 files

LLVM/project 12a0bd4openmp/device/include DeviceTypes.h

[OpenMP][offload] Fix Global addrspace
DeltaFile
+1-1openmp/device/include/DeviceTypes.h
+1-11 files

LLVM/project 5db9ee1llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp

Change signature.
DeltaFile
+4-5llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+2-2llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+6-72 files

LLVM/project d916085llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp

Remove CachedExtInstSetReg.
DeltaFile
+2-9llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+3-2llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+5-112 files

LLVM/project 2db6978lldb/packages/Python/lldbsuite/test lldbtest.py, lldb/packages/Python/lldbsuite/test/tools/lldb_dap session.py

[lldb-dap][Windows] Respect debug-heap setting when launching (#212290)

In #212126, a setting was added to control the heap used when debugging
on Windows. By default, we disable the debug-heap with
`_NO_DEBUG_HEAP=1`. When launching a program from lldb-dap with
`integratedTerminal` or `externalTerminal`, we need to tell the client
about that variable.

This adds the variable in the runInTerminal reverse request if needed.

Closes #201690.
DeltaFile
+63-0lldb/test/API/tools/lldb-dap/launch/TestDAP_launch_win_debug_heap.py
+9-2lldb/tools/lldb-dap/Handler/RequestHandler.cpp
+11-0lldb/packages/Python/lldbsuite/test/lldbtest.py
+6-0lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
+1-1lldb/packages/Python/lldbsuite/test/tools/lldb_dap/session.py
+1-0lldb/test/API/tools/lldb-dap/runInTerminal/main.c
+91-36 files