LLVM/project 24c1204lldb/test/API/tools/lldb-dap/variables TestDAP_variables.py, lldb/tools/lldb-dap DAP.cpp

[lldb-dap] Validate utf8 protocol messages. (#181261)

I ran into this while debugging a different issue, but when we calcualte
the 'value' field of a variable we were not ensuring the contents were
valid utf8. If assertions are enabled then llvm::json::Value will assert
that the string contains invalid utf8.

To address this I added a wrapper type (`lldb_dap::protocol::String`)
that can be used as a thin wrapper around `std::string` to ensure a
field contains valid utf8. This is now used throughout the
`lldb_dap::protocol::*` types.
DeltaFile
+67-67lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
+99-9lldb/tools/lldb-dap/Protocol/ProtocolBase.h
+50-50lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
+42-13lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
+33-13lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
+17-20lldb/tools/lldb-dap/DAP.cpp
+308-17217 files not shown
+386-21323 files

LLVM/project 1704226libc/src/__support/math bf16divf.h

[libc][math] Fix build failures caused by constexpr (#181920)

DeltaFile
+1-1libc/src/__support/math/bf16divf.h
+1-11 files

LLVM/project cc5909blibc/shared/math sincos.h, libc/src/__support/math sincos.h CMakeLists.txt

[libc][math] Refactor sincos implementation to header only (#177522)

Part of llvm#147386

in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450

Closes #177638
DeltaFile
+229-0libc/src/__support/math/sincos.h
+2-208libc/src/math/generic/sincos.cpp
+22-5utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+23-0libc/shared/math/sincos.h
+21-0libc/src/__support/math/CMakeLists.txt
+1-10libc/src/math/generic/CMakeLists.txt
+298-2233 files not shown
+304-2239 files

LLVM/project b52fdb7llvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp, llvm/test/CodeGen/AMDGPU vgpr-lowering-gfx1250.mir

[AMDGPU] Commute instructions to avoid VGPR MSB changes
DeltaFile
+21-18llvm/test/CodeGen/AMDGPU/vgpr-lowering-gfx1250.mir
+15-0llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+36-182 files

LLVM/project 0eaf123libc/shared/math bf16divf.h, libc/src/__support/math bf16divf.h CMakeLists.txt

[libc][math] Refactor bf16divf implementation to header-only in src/__support/math folder. (#181086)

DeltaFile
+28-0libc/src/__support/math/bf16divf.h
+23-0libc/shared/math/bf16divf.h
+17-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+11-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16divf.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+82-103 files not shown
+85-109 files

LLVM/project 7ce0c53flang-rt/lib/cuda allocator.cpp, flang/include/flang/Runtime/CUDA allocator.h

[flang][cuda] Fix return value for CUFSetDefaultStream (#181884)

The interface return an integer value but the entry point and lowering
were missing it.
DeltaFile
+16-0flang/test/Lower/CUDA/cuda-default-stream.cuf
+2-1flang-rt/lib/cuda/allocator.cpp
+1-1flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
+1-1flang/include/flang/Runtime/CUDA/allocator.h
+20-34 files

LLVM/project e0b3e82llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/CodeGen/AMDGPU fix-sgpr-copies-wmma-scale-lo256.mir

[AMDGPU] Constrain register class during COPY elimination based on their uses (#181909)

When a WMMA scale operand (requiring `VCSrc_b32_Lo256`) was an SGPR that
had been copied from a VGPR, the COPY elimination replaced all uses of
the SGPR with the VGPR but failed to constrain the VGPR to
`vgpr_32_lo256`. This allowed the register allocator to assign a VGPR >=
256 (e.g., $vgpr309), violating the hardware encoding requirement.
DeltaFile
+65-0llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-wmma-scale-lo256.mir
+20-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+85-02 files

LLVM/project 22ecddaclang/lib/CodeGen CGExpr.cpp, clang/test/CodeGenHLSL/BasicFeatures VectorElementwiseCast.hlsl

[HLSL][Matrix] Allow flattening matrix types in FlattenAccessAndTypeLValue (#177708)

Fixes #177487

This PR adds support for flattening HLSL matrix types in code generation
via `CodeGenFunction::FlattenAccessAndTypeLValue`.
It removes the assertion `assert(!isa<MatrixType>(T) && "Matrix types
not yet supported in HLSL");` and adds a branch for handling
ConstantMatrixTypes which is similar to the VectorType case.
DeltaFile
+62-1clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
+29-2clang/lib/CodeGen/CGExpr.cpp
+91-32 files

LLVM/project be6ff11llvm/lib/Target/AArch64 AArch64MIPeepholeOpt.cpp

Test
DeltaFile
+75-0llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
+75-01 files

LLVM/project 15a566bllvm/test/CodeGen/NVPTX scalar-to-vector.ll

 Fix test from #175712 (#181905)

DeltaFile
+2-2llvm/test/CodeGen/NVPTX/scalar-to-vector.ll
+2-21 files

LLVM/project 7f8cabbclang/lib/Analysis ThreadSafety.cpp, clang/test/SemaCXX warn-thread-safety-analysis.cpp

[ThreadSafety][NFC] Cleanup indentation and unnecessary comments (#181896)

This is a follow-up commit to #178952 for indentation and comments
cleanups.
DeltaFile
+10-10clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+0-3clang/lib/Analysis/ThreadSafety.cpp
+10-132 files

LLVM/project 9bf1186libc/shared/math logb.h, libc/src/__support/math logb.h CMakeLists.txt

[libc][math] Refactor logb implementation to header-only (#175719)

Fixes #175365
DeltaFile
+26-0libc/src/__support/math/logb.h
+22-0libc/shared/math/logb.h
+16-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/logb.cpp
+1-1libc/src/math/generic/CMakeLists.txt
+77-63 files not shown
+80-69 files

LLVM/project 95491b8llvm/include/llvm/CodeGen/GlobalISel CSEInfo.h, llvm/include/llvm/Passes MachinePassRegistry.def

[GISel][X86] Port CSE analysis to NPM (#179815)

As part of #178192 it came up that the `GISelCSEAnalysisWrapperPass`
doesn't seem to have a npm version. This patch adds an npm wrapper
around `GISelCSEAnalysisWrapper`.
DeltaFile
+14-0llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h
+12-0llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
+1-0llvm/include/llvm/Passes/MachinePassRegistry.def
+1-0llvm/lib/Passes/PassBuilder.cpp
+28-04 files

LLVM/project 6282a7boffload/liboffload/API Memory.td

[Offload] Fix missing end to string in .td file
DeltaFile
+1-1offload/liboffload/API/Memory.td
+1-11 files

LLVM/project 550c48blibc/shared/math bf16addf.h, libc/src/__support/math bf16addf.h CMakeLists.txt

[libc][math] Refactor bf16addf to header only (#181230)

Resolves #181017 
Part of #147386
DeltaFile
+26-0libc/src/__support/math/bf16addf.h
+23-0libc/shared/math/bf16addf.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16addf.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+77-103 files not shown
+80-109 files

LLVM/project 581eb22libc/cmake/modules LLVMLibCArchitectures.cmake

[libc] Fix OS when using `-llvm` OS in the triple (#181908)

Summary:
We spoof the OS name for the GPU targets and used to get it form the
'end' of the triple list. Adding `-llvm` makes that now point to `-llvm`
which is not recognized so it fails. Just use the direct index, we
already guard that the triple is the correct size
DeltaFile
+1-1libc/cmake/modules/LLVMLibCArchitectures.cmake
+1-11 files

LLVM/project 3cf4156mlir/include/mlir/Dialect/Vector/TransformOps VectorTransformOps.td, mlir/lib/Dialect/Vector/TransformOps VectorTransformOps.cpp

[mlir][vector] add ApplyReorderMultiReductionDimsPatternsOp tests (#180977)

With the new finer grained populate methods introduced in
8dde3051504cb9ae42e654bbce39001f3946beea (#180750), there was a
discussion about refactoring tests such that only one of the patterns
applies at a time. This commit starts this process by adding the
structure for one of these populate methods. The goal is for the
populate methods to have their own file (each showing inner and outer
reduction); deprecating populateVectorMultiReductionLoweringPatterns and
ApplyLowerMultiReduction; and removing the test file for
mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir

Essentially an NFC. It also adds a new transform op for testing the
dialect and which downstream projects may choose to use.

Assisted-By: claude-4.5-sonnet
DeltaFile
+102-0mlir/test/Dialect/Vector/vector-multi-reduction-reorder-and-expand.mlir
+0-76mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
+23-0mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
+9-1mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
+4-4mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
+8-0mlir/test/python/dialects/transform_vector_ext.py
+146-811 files not shown
+148-837 files

LLVM/project fcf0fe7clang/lib/Headers CMakeLists.txt

[Clang][CMake] Fix header target creation (#180609)

The `add_header_target` function was using a `file_list` parameter that
was supposed to capture all the header files that should be added to the
interface library target. However, the parameter was only capturing the
first header file, and the rest of the header files were not being added
to the target properties. I.e. the `get_target_properties` command was
only returning the first header file instead of all the header files.

The commit removes the `file_list` parameter and replaces it with
`ARGN`,
which captures all the header files passed to the function. This ensures
that all the header files are added to the interface library target and
can be accessed through the target properties.
DeltaFile
+2-2clang/lib/Headers/CMakeLists.txt
+2-21 files

LLVM/project 8f69cddllvm/lib/Transforms/IPO ThinLTOBitcodeWriter.cpp

[NFC] `CfiFunctions` are relevant when promoting from the original module only (#181080)

`CfiFunctions` contains only pointers to IR objects in the original
`Module`. When we `promoteInternals`, we try to find such pointers from
the first (exporting) module in the `CfiFunctions` set. That will always
fail (as in, no values will be found) in the first case, when the
exporting module is the merged module. This PR makes it more obvious
that the `CfiFunctions` set is only relevant for the second promotion.
DeltaFile
+5-1llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+5-11 files

LLVM/project 3a68781clang/test/ClangScanDeps regular_cdb.cpp modules.cpp, clang/test/Frontend dependency-gen-phony.c

[clang][tests] Fix cross-build test failures on Darwin. (#181805)

Test failures started after
https://github.com/llvm/llvm-project/pull/178077 which introduced
Darwin-specific system checks in several tests, including checks for the
presence of SDKSettings.json.

These tests are intended to validate features in Clang’s driver that
require Clang to target a Darwin platform while running on a Darwin
host. Currently, their execution is gated by the REQUIRES: system-darwin
annotation.

This approach breaks down when running the tests on a cross-compiling
build of Clang on a Darwin host.

If the build does not include any Darwin targets, the tests will still
run (because the host is Darwin) but will fail spuriously due to the
absence of a Darwin target in the build.


    [4 lines not shown]
DeltaFile
+6-6clang/test/ClangScanDeps/regular_cdb.cpp
+5-5clang/test/ClangScanDeps/modules.cpp
+3-3clang/test/ClangScanDeps/relative_directory.cpp
+2-2clang/test/Frontend/dependency-gen-phony.c
+2-2clang/test/ClangScanDeps/vfsoverlay.cpp
+1-1clang/test/ClangScanDeps/headerwithdirnamefollowedbyinclude.cpp
+19-196 files not shown
+25-2512 files

LLVM/project 74b8ca6llvm/lib/Target/RISCV RISCVInstrInfoXRivos.td, llvm/test/MC/RISCV xrivosvisni-valid.s

[RISCV] Remove VMConstraint from ri.vzero.v (#181895)

This instruction doesn't have a VM operand.

It only has 1 operand, VD. The way the VMConstraint check is
implemented, if VD is V0 it would compare the last operand to V0. Since
the last operand is VD, this would always match and generate an error.

While I was here, move the encoding related let statements into the
class body for consistency with RISCVInstrInfoV.td.
DeltaFile
+9-3llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
+3-0llvm/test/MC/RISCV/xrivosvisni-valid.s
+12-32 files

LLVM/project 86d0a02mlir/test/IR visitors.mlir, mlir/test/lib/IR TestVisitors.cpp

[mlir][test-ir-visitors] Fix noSkipBlockErasure for blocks providing global context (#181320)

The pass checks if something is pointing to the current block in testNoSkipErasureCallbacks() inside noSkipBlockErasure() callback and erases it if no one is pointing to it. However, it doesn't consider the
case where the current block might be providing global context to other blocks in the same parent region even if no one is pointing to it (see the attached test for an example of this). Erasing this block would then lead to invalid IR. We solve this by dropping intra-block op uses from ops within the same parent region.

Fixes https://github.com/llvm/llvm-project/issues/178099
DeltaFile
+18-0mlir/test/lib/IR/TestVisitors.cpp
+17-0mlir/test/IR/visitors.mlir
+35-02 files

LLVM/project 960dbffllvm/lib/Target/SystemZ/MCTargetDesc SystemZMCTargetDesc.cpp

[SystemZ][z/OS] Remove temporary gnu as output on z/OS

On z/OS, there is only HLASM as system assembler available. Since
all LIT tests are migrated, the temporary option ca now be removed.
DeltaFile
+2-8llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
+2-81 files

LLVM/project b9b0a7ellvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.cpp SystemZHLASMAsmStreamer.h

Fix formatting
DeltaFile
+5-5llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+1-1llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+6-62 files

LLVM/project 5c51858clang/lib/Headers __clang_cuda_complex_builtins.h, clang/lib/Headers/openmp_wrappers complex complex.h

[OFFLOAD] Add headers to support complex math for spirv (#179846)

This is to add support for complex operations for OpenMP kernels when
compiled with spirv.
This is the first PR to add support for spirv in OpenMP wrapper headers
to reduce the size of PRs
DeltaFile
+10-3clang/lib/Headers/__clang_cuda_complex_builtins.h
+7-1clang/lib/Headers/openmp_wrappers/complex
+6-0clang/lib/Headers/openmp_wrappers/complex.h
+23-43 files

LLVM/project 1c6d774offload/liboffload/API Memory.td, offload/liboffload/src OffloadImpl.cpp

[OFFLOAD] Extend olMemRegister API to handle cases when a memory block may have been mapped outside of liboffload. (#172226)

This PR adds extends liboffload olMemRegister API to handle a case when
a memory block may have been mapped before calling olMemRegister to
support some use cases in libomptarget
DeltaFile
+60-91offload/plugins-nextgen/common/src/PluginInterface.cpp
+37-62offload/plugins-nextgen/common/include/PluginInterface.h
+76-23offload/unittests/OffloadAPI/memory/olMemRegister.cpp
+23-12offload/liboffload/API/Memory.td
+7-4offload/liboffload/src/OffloadImpl.cpp
+203-1925 files

LLVM/project 2cf3592llvm/lib/Target/AMDGPU AMDGPULowerVGPREncoding.cpp

[AMDGPU] Use const with MI in AMDGPULowerVGPREncoding::computeMode. NFC
DeltaFile
+5-4llvm/lib/Target/AMDGPU/AMDGPULowerVGPREncoding.cpp
+5-41 files

LLVM/project 072c0f1llvm/lib/Target/SystemZ/MCTargetDesc SystemZHLASMAsmStreamer.cpp SystemZHLASMAsmStreamer.h, llvm/test/CodeGen/SystemZ call-zos-02.ll

[SystemZ][z/OS] Show instruction encoding in HLASM output

This change adds the support to show instruction encoding as a comment
when emitting HLASM text. With this, the last 2 LIT tests migrate to
HLASM syntax.
DeltaFile
+83-55llvm/test/MC/SystemZ/insn-good-zos-pcrel.s
+102-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+7-5llvm/test/CodeGen/SystemZ/call-zos-02.ll
+4-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+196-604 files

LLVM/project de03ec7clang/docs ReleaseNotes.rst, clang/lib/Parse ParseExprCXX.cpp

[Clang] Fix incorrect mutability of decltype((x)) in lambda return types (#180690)

Previously, the parser did not update the lambda's mutability state
before parsing the trailing return type. This caused decltype((x)) to
incorrectly deduce a non-const reference even in a non-mutable lambda.

Fixes #180460
DeltaFile
+13-0clang/test/SemaCXX/lambda-expressions.cpp
+5-5clang/lib/Parse/ParseExprCXX.cpp
+2-0clang/docs/ReleaseNotes.rst
+20-53 files

LLVM/project 986bba1llvm/lib/Transforms/IPO ThinLTOBitcodeWriter.cpp

[NFC] `CfiFunctions` are relevant when promoting from the original module only
DeltaFile
+5-1llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+5-11 files