LLVM/project 86bd003clang/include/clang/Basic Diagnostic.h, clang/lib/Basic DiagnosticIDs.cpp

[Clang][Modules] Ensure global diagnostic overrides are respected in system modules (#180684)

When a template is instantiated from a system module, the
location-specific
diagnostic state (from 'Diag.GetDiagStateForLoc(Loc)') often has
'SuppressSystemWarnings' set to true because the location itself is
within
a system header defined by the module map.

Clang provides mechanisms like 'AllowWarningInSystemHeaders' RAII
(used for deprecated warnings in 'SemaAvailability.cpp') that are
intended
to temporarily override this suppression. Previously, this was done by
modifying the current diagnostic state's 'SuppressSystemWarnings' bit.
However, since 'getDiagnosticSeverity' checks the state associated with
the
diagnostic's location, this current-state override was ignored for code
inside system modules.


    [30 lines not shown]
DeltaFile
+64-0clang/test/Modules/GH170429.cpp
+12-5clang/lib/Basic/DiagnosticIDs.cpp
+8-0clang/include/clang/Basic/Diagnostic.h
+4-3clang/lib/Sema/SemaAvailability.cpp
+88-84 files

LLVM/project 5933294llvm/lib/Target/AMDGPU AMDGPULowerModuleLDSPass.cpp, llvm/test/CodeGen/AMDGPU lower-module-lds-via-table.ll lower-module-lds-precise-allocate-to-module-struct.ll

[AMDGPULowerLDS] Avoid unnecessary ptrtoint/inttoptr roundtrip (#181671)

Store pointers instead of integers in the table, and load them as
pointers.
DeltaFile
+20-28llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
+12-19llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+12-17llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
+11-16llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
+9-13llvm/test/CodeGen/AMDGPU/lower-module-lds-indirect-extern-uses-max-reachable-alignment.ll
+8-12llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
+72-1054 files not shown
+88-12810 files

LLVM/project 6f0759dllvm/lib/CodeGen SafeStack.cpp, llvm/test/Transforms/SafeStack/X86 setjmp2.ll byval.ll

[SafeStack] Use ptrmask instead of ptrtoint+and+inttoptr (#181649)

Use the provenance-preserving ptrmask intrinsic instead of
ptrtoint+and+inttoptr for pointer alignment.
DeltaFile
+11-15llvm/lib/CodeGen/SafeStack.cpp
+8-10llvm/test/Transforms/SafeStack/X86/setjmp2.ll
+1-2llvm/test/Transforms/SafeStack/X86/byval.ll
+20-273 files

LLVM/project 89eb732llvm/lib/Target/AMDGPU DSDIRInstructions.td, llvm/test/MC/AMDGPU gfx13_asm_vdsdir.s gfx13_asm_vdsdir_alias.s

[AMDGPU] Add VDSDIR encoding to gfx13 (#181620)

DeltaFile
+39-0llvm/test/MC/AMDGPU/gfx13_asm_vdsdir.s
+14-10llvm/lib/Target/AMDGPU/DSDIRInstructions.td
+9-0llvm/test/MC/AMDGPU/gfx13_asm_vdsdir_alias.s
+62-103 files

LLVM/project 2b4a462llvm/test/CodeGen/AMDGPU skip-if-dead.ll llvm.amdgcn.exp.ll, llvm/test/MC/AMDGPU gfx9_asm_exp.s gfx12_asm_exp.s

[AMDGPU] Add missing comma between export target and first export data (#181641)

The new format matches the official ISA spec and ensures the
disassembler prints 'export mrt0, v0, off, off, off' instead of 'export
mrt0 v0, off, off, off'.

No functional encoding changes; printing/AsmString only.
DeltaFile
+133-133llvm/test/MC/AMDGPU/gfx9_asm_exp.s
+129-124llvm/test/MC/AMDGPU/gfx12_asm_exp.s
+88-80llvm/test/MC/AMDGPU/exp.s
+73-73llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
+72-72llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
+70-70llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
+565-55243 files not shown
+1,210-1,19949 files

LLVM/project 05efae6llvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

shorten a comment
DeltaFile
+0-4llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+0-41 files

LLVM/project c985f28llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp, mlir/test/Target/LLVMIR allocatable_gpu_reduction.mlir

[OMPIRBuilder] Hoist alloca's to entry blocks of compiler-emitted GPU reduction functions (#181359)

Fixes a bug in GPU reductions when `-O0` was used to compile GPU
reductions. There were invalid memory accesses at runtime for the
following example:

```fortran
program test_array_reduction()
  integer :: red_array(1)
  integer :: i

  red_array = 0

  !$omp target teams distribute parallel do reduction(+:red_array)
  do i = 1, 100
    red_array(1) = red_array(1) + 4422
  end do
  !$omp end target teams distribute parallel do


    [9 lines not shown]
DeltaFile
+16-6llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+17-0mlir/test/Target/LLVMIR/allocatable_gpu_reduction.mlir
+33-62 files

LLVM/project c175fadllvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll

Merge branch 'main' into users/meinersbur/openmp_remove-standalone-build
DeltaFile
+121,421-138,357llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+43,316-44,830llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+56,025-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+52,760-0polly/lib/External/isl/include/isl/typed_cpp.h
+12,842-18,547llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+30,890-0polly/lib/External/isl/include/isl/cpp.h
+317,254-201,7349,155 files not shown
+1,092,467-612,3339,161 files

LLVM/project d3036a1libclc/clc/include/clc/relational clc_issubnormal.h relational.h, libclc/clc/lib/generic SOURCES

libclc: Add __clc_issubnormal

This is the missing of the FP class queries.
DeltaFile
+42-0libclc/clc/include/clc/relational/clc_issubnormal.h
+32-0libclc/clc/lib/generic/relational/clc_issubnormal.cl
+1-0libclc/clc/lib/generic/SOURCES
+1-0libclc/clc/include/clc/relational/relational.h
+76-04 files

LLVM/project 8844e15libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req atomic_fetch_max.pass.cpp atomic_fetch_max_explicit.pass.cpp

fix modules build
DeltaFile
+1-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
+1-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+1-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+1-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+4-04 files

LLVM/project 71961belibcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req atomic_fetch_max.pass.cpp atomic_fetch_max_explicit.pass.cpp

fix ci for aix
DeltaFile
+0-6libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
+0-6libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+0-6libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+0-6libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+0-244 files

LLVM/project cfce0belibcxx/test/std/atomics/atomics.ref fetch_max.pass.cpp fetch_min.pass.cpp, libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req atomic_fetch_min_explicit.pass.cpp atomic_fetch_max_explicit.pass.cpp

revise testcases
DeltaFile
+73-15libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+73-15libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+72-15libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max.pass.cpp
+72-15libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+5-6libcxx/test/std/atomics/atomics.ref/fetch_max.pass.cpp
+5-6libcxx/test/std/atomics/atomics.ref/fetch_min.pass.cpp
+300-726 files

LLVM/project 530c938mlir/include/mlir/Dialect/SparseTensor/Transforms Passes.td

[mlir][sparse][nfc] replace sparse_tensor.pointers in docs (#181636)

The `-sparse-tensor-conversion` and `-sparse-tensor-codegen`
descriptions use `sparse_tensor.pointers` which doesn't exist. It
was renamed to `sparse_tensor.positions`.
DeltaFile
+12-9mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
+12-91 files

LLVM/project f978a7dcompiler-rt/lib/tsan/rtl tsan_adaptive_delay.cpp tsan_adaptive_delay.h

[tsan] Only init AdaptiveDelay if enabled (#181757)

In #178836, while refactoring from a virtual class design to a
non-virtual design, the logic ended up such that AdaptiveDelayImpl was
always constructed, even if the adaptive delay feature was not enabled.
Adaptive delay itself was always disabled if the flag was off, this just
prevents the ctor from running at all.

@dvyukov
DeltaFile
+8-6compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.cpp
+0-2compiler-rt/lib/tsan/rtl/tsan_adaptive_delay.h
+8-82 files

LLVM/project fb41009llvm/test/CodeGen/RISCV riscv-scavenge-crash-2nd-pass-rv32.mir riscv-scavenge-crash-2nd-pass-rv64.mir

[RISCV] Add test cases showing RegisterScavenger crash (#181537)

DeltaFile
+86-0llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv32.mir
+55-0llvm/test/CodeGen/RISCV/riscv-scavenge-crash-2nd-pass-rv64.mir
+141-02 files

LLVM/project a65c4f4lldb/packages/Python/lldbsuite/test decorators.py

[lldb][windows] deactivate unicode tests on Windows (#181698)

https://github.com/llvm/llvm-project/pull/181143 introduced a regression
in Windows build bots, which is due to some Unicode characters not being
rendered properly.

The proper fix is to be able to configure the characters that are
rendered, and to force them to be ascii characters.
DeltaFile
+4-0lldb/packages/Python/lldbsuite/test/decorators.py
+4-01 files

LLVM/project 8c765ballvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

add comment and refactor hoisting utils
DeltaFile
+15-11llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+15-111 files

LLVM/project da466e5llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp, mlir/test/Target/LLVMIR allocatable_gpu_reduction.mlir

[OMPIRBuilder] Hoist alloca's to entry blocks of compiler-emitted GPU reduction functions

Fixes a bug in GPU reductions when `-O0` was used to compile GPU
reductions. There were invalid memory accesses at runtime for the
following example:

```fortran
program test_array_reduction()
  integer :: red_array(1)
  integer :: i

  red_array = 0

  !$omp target teams distribute parallel do reduction(+:red_array)
  do i = 1, 100
    red_array(1) = red_array(1) + 4422
  end do
  !$omp end target teams distribute parallel do


    [10 lines not shown]
DeltaFile
+17-0mlir/test/Target/LLVMIR/allocatable_gpu_reduction.mlir
+6-0llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+23-02 files

LLVM/project b37174emlir/include/mlir/Dialect/X86Vector/Utils X86VectorUtils.h, mlir/lib/Dialect/X86Vector/Transforms VectorContractToPackedTypeDotProduct.cpp VectorContractBF16ToFMA.cpp

[mlir][x86vector] Shuffle BF16 vector.contract output for Flat layout. (#174590)

This patch shuffles the output of a `bf16` type `non-vnni` packed
`vector.contract` operation (`flat` layout). The output of the
contraction operation is shuffle to match the `flat` layout, before get
stored in the `acc` matrix.

Following this transform schedule, the `vector.contract` will be lowered
to one of the following operations:
- x86vector::DotBF16Op with `B` matrix shuffled to compensate the `flat`
layout (supported as part of this PR), or
- vector.fma with loads + broadcast using `bf16` packed operations
(supported as part of this PR).
DeltaFile
+763-34mlir/test/Dialect/X86Vector/vector-contract-to-packed-type-dotproduct.mlir
+650-0mlir/test/Dialect/X86Vector/vector-contract-bf16-to-fma.mlir
+302-116mlir/lib/Dialect/X86Vector/Transforms/VectorContractToPackedTypeDotProduct.cpp
+306-0mlir/lib/Dialect/X86Vector/Utils/X86VectorUtils.cpp
+214-31mlir/lib/Dialect/X86Vector/Transforms/VectorContractBF16ToFMA.cpp
+37-0mlir/include/mlir/Dialect/X86Vector/Utils/X86VectorUtils.h
+2,272-1816 files

LLVM/project 7806a0bllvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp

[CodeGen] Silence a warning (NFC)

llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4665:12:
 error: unused variable 'NumElts' [-Werror,-Wunused-variable]
  unsigned NumElts = DemandedElts.getBitWidth();
           ^
1 error generated.
DeltaFile
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-11 files

LLVM/project 0065a55llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable BUILD.gn

[gn] port some of 6b75eaea794f6

Needed for 1a7c110dfc92e.
DeltaFile
+1-0llvm/utils/gn/secondary/clang/unittests/Analysis/Scalable/BUILD.gn
+1-01 files

LLVM/project ab3d742libc/cmake/modules LLVMLibCArchitectures.cmake LLVMLibCLibraryRules.cmake, libc/config/gpu/spirv entrypoints.txt headers.txt

[libc] Add basic support for building SPIR-V libraries (#181049)

This is to add support to build libc for building with spirv backend,
for use with OpenMP kernels
DeltaFile
+100-0libc/config/gpu/spirv/entrypoints.txt
+4-4libc/cmake/modules/LLVMLibCArchitectures.cmake
+6-1libc/cmake/modules/LLVMLibCLibraryRules.cmake
+6-1libc/src/__support/macros/properties/architectures.h
+5-0libc/config/gpu/spirv/headers.txt
+3-2libc/src/__support/macros/properties/cpu_features.h
+124-88 files not shown
+135-1814 files

LLVM/project 942f5fbllvm/utils/gn/secondary/lldb/include/lldb/Host BUILD.gn

[gn] port 4a4ab28f94bdc7
DeltaFile
+1-0llvm/utils/gn/secondary/lldb/include/lldb/Host/BUILD.gn
+1-01 files

LLVM/project 0667781llvm/utils/gn/secondary/compiler-rt/lib/tsan/rtl BUILD.gn

[gn] port a591a44653ea
DeltaFile
+1-0llvm/utils/gn/secondary/compiler-rt/lib/tsan/rtl/BUILD.gn
+1-01 files

LLVM/project e496e3clldb/include/lldb/Host HostInfoBase.h, lldb/include/lldb/Host/macosx HostInfoMacOSX.h

[lldb][macOS] Index shared cache files by UUID & filename (#180874)

The shared cache index only had accessors for getting a file from a
shared cache by filename. In some environments like iOS Simulator, a
filename can be either the actual realpath name of the framework in an
SDK or simulator runtime install location, or rooted on / like
/System/LibraryFrameworks/SwiftUI.framework. Because the searches for
binaries were by filename, this divergence would be a problem. However,
searching for binaries by the binary's UUID can remove that ambiguity.

I changed HostInfoMacOSX's store of SharedCacheImageInfo's to have a
std::vector of all of the SharedCacheImageInfo's in a shared cache. Then
I create a mapping of filename-to-SharedCacheImageInfo* and a mapping of
UUID-to-SharedCacheImageInfo*, both pointing into the now-frozen
std::vector. I added a HostInfo::GetSharedCacheImageInfo method to fetch
an entry by shared-cache UUID + file UUID, in addition to the previous
shared-cache UUID + filename.

Have HostInfoMacOSX store the filenames it gets from the libdyld SPI in

    [7 lines not shown]
DeltaFile
+113-33lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+54-9lldb/include/lldb/Host/HostInfoBase.h
+18-10lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
+11-8lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
+9-5lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+7-2lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
+212-672 files not shown
+220-718 files

LLVM/project 051fb5allvm/include/llvm/ADT ArrayRef.h, llvm/unittests/ADT ArrayRefTest.cpp

[ADT] Remove misleading is_const check in MutableArrayRef constructor (#181758)

The `std::negation<std::is_const<C>>` check here seems semantically
inaccurate; we should care about whether the container provides mutable
element access, not the constness of the container itself. This was
already being checked but was previously being dropped prior to the
change from `const C&` to `C&` in
https://github.com/llvm/llvm-project/pull/181190. That was sufficient in
itself to fix the referenced issue
https://github.com/llvm/llvm-project/issues/181176

---------

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+4-0llvm/unittests/ADT/ArrayRefTest.cpp
+0-1llvm/include/llvm/ADT/ArrayRef.h
+4-12 files

LLVM/project 1f008b6lldb/include/lldb/Target Target.h

[lldb/Target] Remove unused include

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+0-1lldb/include/lldb/Target/Target.h
+0-11 files

LLVM/project 140d65flibc/shared rpc_dispatch.h rpc.h

[libc][NFC] Fix comments and macros in the RPC interface

Summary:
Typos and missing include header guards should be fixed now.
DeltaFile
+10-5libc/shared/rpc_dispatch.h
+7-7libc/shared/rpc.h
+1-1libc/shared/rpc_util.h
+1-0libc/shared/rpc_opcodes.h
+19-134 files

LLVM/project 101f88alibc/shared rpc.h rpc_util.h

[libc] Fix move destruction double-freeing ports after move to RAII

Summary:
Recently I changed the interface to use RAII to close the ports. This
exposed a problem where the default move constructor was invoked in the
optional wrapping, this caused the destructor to fire twice on the
server, obviously causing havok. This PR changes the move destructor to
be deleted so this never happens again. Now everything is constructed
once  and only references are allowed. The optional class had to be
fixed to properly set in_use so we run the destructor properly as well.
DeltaFile
+4-12libc/shared/rpc.h
+9-7libc/shared/rpc_util.h
+13-192 files

LLVM/project 9937019lldb/source/Plugins/Highlighter/TreeSitter/Rust RustTreeSitterHighlighter.cpp, lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust grammar.js scanner.c

[lldb] Add tree-sitter based Rust syntax highlighting
DeltaFile
+1,690-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/grammar.js
+393-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/scanner.c
+161-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/highlights.scm
+127-1lldb/unittests/Highlighter/HighlighterTest.cpp
+53-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/tree-sitter-rust/tree-sitter.json
+43-0lldb/source/Plugins/Highlighter/TreeSitter/Rust/RustTreeSitterHighlighter.cpp
+2,467-17 files not shown
+2,569-313 files