LLVM/project f2e4fcdllvm/test/Transforms/LowerTypeTests x86-jumptable-dbg.ll aarch64-jumptable-dbg.ll

[NFC][LowerTypeTests] Add AArch64 and X86 jump table tests with debug info (#192735) (#193358)

It just recommits test copied from non dbg version.

Implementation is https://github.com/llvm/llvm-project/pull/192736.

This is the same as #192735, accidentally merged into spr/users branch.
DeltaFile
+104-0llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
+72-0llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
+176-02 files

LLVM/project b7a4020clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.cpp

Add #include "clang/AST/ExprCXX.h"
DeltaFile
+1-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
+1-01 files

LLVM/project 1cbd27fllvm/lib/Analysis ConstantFolding.cpp, llvm/test/Transforms/InstSimplify/ConstProp loads.ll

[ConstantFolding] Increase folding limit for vector loads to 128 bytes (#192775)

In FoldReinterpretLoadFromConst, ReadDataFromGlobal bails out when
BytesLoaded exceeds 32 bytes. This prevent folding in our downstream
OpenCL case where global constant is [16 x float] array and is loaded as
float16 vector, which is 64 bytes.

This PR increases BytesLoaded cap to 128 bytes, to accommodate large
vector support, e.g. double16 type in OpenCL. For scalar integer load,
the limit remains 32 bytes to avoid regression on load from string
literal.

---------

Co-authored-by: Nikita Popov <github at npopov.com>
DeltaFile
+62-0llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
+16-6llvm/lib/Analysis/ConstantFolding.cpp
+78-62 files

LLVM/project 3c3f64fclang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlow.h, clang/lib/ScalableStaticAnalysisFramework/Analyses CMakeLists.txt

had Claude to give a review pass
DeltaFile
+87-88clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
+23-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+2-3clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.cpp
+2-2clang/lib/ScalableStaticAnalysisFramework/Analyses/CMakeLists.txt
+2-2clang/include/clang/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlow.h
+0-3clang/test/Analysis/Scalable/PointerFlow/Inputs/tu-summary.json
+116-981 files not shown
+116-997 files

LLVM/project 4d83691lldb/include/lldb/Core EmulateInstruction.h, lldb/source/Core EmulateInstruction.cpp

[lldb] Fix a couple of return type / return value mismatches (#191464)

* `EmulateInstruction::ReadMemory()` returns a boolean value and is used
in boolean contexts, but the return type is specified as `size_t`.
Change it to `bool`. This also aligns it with `WriteMemory()`.
* `ClangExpressionDeclMap::GetSymbolAddress()` returns `false` if
`Target` is not available, but it is expected to return an address.
Change it to return `LLDB_INVALID_ADDRESS`.
* `ValueObject::GetPointeeData()` returns `true`, whereas a return value
of type `size_t` is expected. Change it to return 0 (this code is
unreachable).
DeltaFile
+2-2lldb/include/lldb/Core/EmulateInstruction.h
+2-2lldb/source/Core/EmulateInstruction.cpp
+2-1lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h
+1-1lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
+1-1lldb/source/ValueObject/ValueObject.cpp
+8-75 files

LLVM/project 95aa046clang/lib/AST/ByteCode Compiler.cpp, clang/test/CodeGen/AArch64 neon-misc.c

rebase

Created using spr 1.3.7
DeltaFile
+868-0llvm/test/CodeGen/AArch64/hadd-combine-scalar.ll
+474-121clang/lib/AST/ByteCode/Compiler.cpp
+459-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir
+0-428llvm/test/CodeGen/AArch64/xtn.ll
+355-0clang/test/CodeGen/AArch64/neon/vpaddl.c
+0-308clang/test/CodeGen/AArch64/neon-misc.c
+2,156-857262 files not shown
+6,328-2,081268 files

LLVM/project f99a8f1llvm/include/llvm/ADT Hashing.h

Update llvm/include/llvm/ADT/Hashing.h

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/include/llvm/ADT/Hashing.h
+1-11 files

LLVM/project 8e63ff8llvm/include/llvm/ADT Hashing.h

Update llvm/include/llvm/ADT/Hashing.h

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/include/llvm/ADT/Hashing.h
+1-11 files

LLVM/project c0584efllvm/include/llvm/ADT Hashing.h

Update llvm/include/llvm/ADT/Hashing.h

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/include/llvm/ADT/Hashing.h
+1-11 files

LLVM/project 8082b53llvm/include/llvm/ADT Hashing.h

Update llvm/include/llvm/ADT/Hashing.h

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/include/llvm/ADT/Hashing.h
+1-11 files

LLVM/project 7682cf8clang/include/clang/Parse Parser.h, clang/include/clang/Sema DeclSpec.h

Merge branch 'main' into users/ziqingluo/PR-172429193-2-split-4
DeltaFile
+162-141clang/include/clang/Sema/DeclSpec.h
+44-63clang/include/clang/Parse/Parser.h
+81-10llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.barrier.arrive.rtn.b64.ll
+33-20offload/plugins-nextgen/common/src/PluginInterface.cpp
+32-5llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.atomic.async.barrier.arrive.b64.ll
+29-8libc/utils/libctest/format.py
+381-24736 files not shown
+658-34242 files

LLVM/project b0af9b0llvm/test/Transforms/LowerTypeTests x86-jumptable-dbg.ll aarch64-jumptable-dbg.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+104-0llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
+72-0llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
+176-02 files

LLVM/project e7f5822llvm/test/Transforms/LowerTypeTests x86-jumptable-dbg.ll aarch64-jumptable-dbg.ll

[NFC][LowerTypeTests] Add AArch64 and X86 jump table tests with debug info (#192735)

It just recommits test copied from non dbg version.

Implementation is https://github.com/llvm/llvm-project/pull/192736.
DeltaFile
+104-0llvm/test/Transforms/LowerTypeTests/x86-jumptable-dbg.ll
+72-0llvm/test/Transforms/LowerTypeTests/aarch64-jumptable-dbg.ll
+176-02 files

LLVM/project d87ac87offload/plugins-nextgen/common/include PluginInterface.h, offload/plugins-nextgen/common/src PluginInterface.cpp

[offload] Fix synchronization when record replay is enabled (#193291)

When kernel record replay was enabled, the operations on the current
stream were not synchronized. That's because the current stream was
"ignored", and a new stream was used when RR is active. This is invalid
when there are pending operations on the original stream and can lead to
invalid prologue recording data.

This commit addresses this issue by using the original stream and
synchronizing it explicitly before and after kernel launch. This way, we
ensure the operations are completed before performing the prologue and
epilogue data recording. Additionally, the kernel record replay entry
points are moved to the same layer, in `GenericKernelTy::launch()`.
DeltaFile
+33-20offload/plugins-nextgen/common/src/PluginInterface.cpp
+9-2offload/plugins-nextgen/common/include/PluginInterface.h
+42-222 files

LLVM/project 404609druntimes/cmake config-Fortran.cmake

[runtimes] Enable Fortran only with explicit CMAKE_Fortran_COMPILER (#193332)

Only enable Fortran support when the user (or the bootstrapping build)
passes `-DCMAKE_Fortran_COMPILER=...`.

`enable_language(...)` other than C/CXX reveals problems with the
current build system. LLVM likes to add
`-Wl,--color-diagnostics`
to `CMAKE_EXE_LINKER_FLAGS` whenever possible. The problem is that
`CMAKE_EXE_LINKER_FLAGS` is added to the linker line regardless of which
language is used, but `HandleLLVMOptions.cmake` probes only
`CMAKE_CXX_COMPILER`. Other languages' compilers such as
`CMAKE_CUDA_COMPILER` (`nvcc`) or `CMAKE_Fortran_COMPILER` (`gfortran`)
may not accept the flag. CMake then fails when those compilers are "not
able to compile a simple test program." because it does not accept the
`--color-diagnostics` flag.

`CMAKE_EXE_LINKER_FLAGS` does not support generator expression such that
`$<$<COMPILE_LANGUAGE:C,CXX>:-Wl,--color-diagnostics>` does not work

    [6 lines not shown]
DeltaFile
+23-12runtimes/cmake/config-Fortran.cmake
+23-121 files

LLVM/project 5892e34clang/include/clang/Parse Parser.h, clang/include/clang/Sema DeclSpec.h

[BoundsSafety][NFC] Move LateParsedAttribute outside Parser class; move LateParsedAttrList to DeclSpec.h (#192145)

Preparatory refactoring for llvm/llvm-project#179612, which introduces
late parsing of bounds-safety attributes as type attributes. The new
approach needs LateParsedAttribute accessible from DeclSpec.h (to store
late attr pointers in DeclaratorChunk, Declarator, and DeclSpec), which
cannot depend on Parser.h.

- Move LateParsedDeclaration and LateParsedAttribute to namespace level
in Parser.h
- Move LateParsedAttrList to DeclSpec.h with a forward declaration of
LateParsedAttribute

Other LateParsedDeclaration subclasses (LateParsedClass,
LateParsedPragma, LateParsedMemberInitializer, etc.) remain inside
Parser as they are only created and consumed within Parser and don't
need to cross the Parser/Sema boundary.
DeltaFile
+162-141clang/include/clang/Sema/DeclSpec.h
+44-63clang/include/clang/Parse/Parser.h
+7-7clang/lib/Parse/ParseCXXInlineMethods.cpp
+213-2113 files

LLVM/project b48d8a5libc/cmake/modules LLVMLibCTestRules.cmake, libc/utils/libctest format.py

Support loader arguments in GPU hermetic tests (#193341)

GPU tests require arguments passed to the loader (like llvm-gpu-loader)
to be placed before the test binary on the command line.

Updated LLVMLibCTestRules.cmake to generate a three-part .params file to
separate loader flags from test arguments and pass environment
overrides. Implicitly added LIBOMPTARGET_STACK_SIZE for NVPTX targets.

Modified format.py to parse this new format and position the loader
arguments correctly before the binary.
DeltaFile
+29-8libc/utils/libctest/format.py
+23-0libc/cmake/modules/LLVMLibCTestRules.cmake
+52-82 files

LLVM/project 54c1b30libcxx/utils/ci/images libcxx_next_runners.txt libcxx_runners.txt

[libcxx][Github] Bump container version (#193351)

Now that the rebuilt container images are available with an upgraded
Github runner, bump to the latest image.
DeltaFile
+1-1libcxx/utils/ci/images/libcxx_next_runners.txt
+1-1libcxx/utils/ci/images/libcxx_runners.txt
+2-22 files

LLVM/project fc0f321libc/cmake/modules LLVMLibCTestRules.cmake

[libc][NFC] Remove trailing whitespace from LLVMLibCTestRules.cmake (#193350)
DeltaFile
+7-7libc/cmake/modules/LLVMLibCTestRules.cmake
+7-71 files

LLVM/project 7014ce8utils/bazel/llvm-project-overlay/lldb/source/Plugins BUILD.bazel

[bazel][lldb] Fix missing dep in ScriptedProcess (#193348)

Added in #181501
DeltaFile
+1-0utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
+1-01 files

LLVM/project 2b63e5elibunwind/src UnwindRegistersRestore.S UnwindRegistersSave.S

[LFI][libunwind] Avoid writing to reserved registers on the `aarch64_lfi` target (#192739)

The registers `x25`, `x26`, `x27`, and `x28` are reserved for the
`aarch64_lfi` target and should not be written/used. See
`llvm/docs/LFI.rst` for more details. They contain fixed constants or
temporaries used as part of assembly-level rewrites of load/store
instructions. The rewriter will reject programs that attempt to write to
these registers. It is technically OK to save/read them (in
`UnwindRegistersSave.S`), but there is no point since there is no need
to restore them (and to maintain LFI's security invariant, they in fact
cannot be written).
DeltaFile
+6-0libunwind/src/UnwindRegistersRestore.S
+6-0libunwind/src/UnwindRegistersSave.S
+12-02 files

LLVM/project daade8e.ci compute_projects_test.py compute_projects.py

[CI] Fix cross-project-tests dependencies (#193323)

We error out in CMake otherwise if we do not enable `clang`. Avoid
adding other dependencies for now as they are optional and otherwise
cause us to build them when using cross-project-tests to test other
projects like lld.
DeltaFile
+13-0.ci/compute_projects_test.py
+1-0.ci/compute_projects.py
+14-02 files

LLVM/project d623ee8clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage UnsafeBufferUsageExtractor.cpp

[SSAF] Fix -Wunused-variable (#193344)

We currently take the return value of inserting into a map (the iterator
and insertion boolean) to assert on the value of the insertion boolean.
This is unused in non-asserts builds, so mark it [[maybe_unused]] given
we cannot inline due to the insertion having side effects.
DeltaFile
+3-2clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
+3-21 files

LLVM/project d7d2c0cutils/bazel/llvm-project-overlay/clang BUILD.bazel

[bazel][clang] Fix build for #191932 (#193337)

Straightforward build fix.
DeltaFile
+2-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+2-01 files

LLVM/project 486cc51llvm/test/CodeGen/AMDGPU/NextUseAnalysis spill-vreg-many-lanes.mir acyclic-770bb.mir

Merge remote-tracking branch 'origin/users/ziqingluo/PR-172429193-2-split-4' into users/ziqingluo/PR-172429193-3

 Conflicts:
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
DeltaFile
+275,101-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/spill-vreg-many-lanes.mir
+144,679-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+57,682-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/double-nested-loops-complex-cfg.mir
+41,844-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills2.mir
+40,613-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills1.mir
+37,209-0llvm/test/CodeGen/AMDGPU/NextUseAnalysis/test_ers_multiple_spills3.mir
+597,128-03,172 files not shown
+976,406-61,0033,178 files

LLVM/project e07f4b2lldb/source/Plugins/SymbolFile/DWARF DWARFUnit.cpp, lldb/unittests/SymbolFile/DWARF DWARFUnitTest.cpp

[lldb/DWARF] Support 5-component Swift version in DW_AT_producer (#193305)
DeltaFile
+36-0lldb/unittests/SymbolFile/DWARF/DWARFUnitTest.cpp
+2-2lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+38-22 files

LLVM/project d76111alibcxx/utils/ci/docker docker-compose.yml

[libcxx][Github] Bump Github Runner to 2.334.0 (#193339)

To stay ahead of the support horizon. Use the same base image to prevent
any differences beyond the runner binary.
DeltaFile
+1-1libcxx/utils/ci/docker/docker-compose.yml
+1-11 files

LLVM/project 9a6b93dllvm/test/CodeGen/X86 vector-fshr-sub128.ll vector-fshl-rot-sub128.ll

[X86] Regenerate vector shifts tests to reduce diffs in #188206 (#193325)

Regenerate missing asm comments to reduce noise in upcoming patch
DeltaFile
+8-8llvm/test/CodeGen/X86/vector-fshr-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshl-sub128.ll
+8-8llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
+4-4llvm/test/CodeGen/X86/vector-rotate-128.ll
+4-4llvm/test/CodeGen/X86/vector-shift-shl-128.ll
+40-405 files not shown
+60-6011 files

LLVM/project fad1e48llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/CodeGen/RISCV/rvv vfadd-vp.ll vitofp-sdnode.ll

Merge remote-tracking branch 'origin/main' into users/ziqingluo/PR-172429193-2-split-4

 Conflicts:
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.cpp
        clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
        clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
DeltaFile
+4,805-4,811llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,871-1,882llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+764-1,425llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
+837-855llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
+1,139-456llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
+878-428llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
+10,294-9,857791 files not shown
+42,837-20,835797 files

LLVM/project a1d0a02mlir/lib/Dialect/LLVMIR/IR FunctionCallUtils.cpp, mlir/test/Conversion/FuncToLLVM func-duplicate-symbol.mlir

[mlir][func] Avoid to create duplicate symbol during conversion (#192342)

`LLVM::lookupOrCreateFn` only checks for an existing `LLVM::LLVMFuncOp`
before creating a new function declaration. When a symbol with the same
name exists as a different op type (e.g., `func.func` that hasn't been
converted to LLVM dialect yet), the function blindly creates a duplicate
`LLVMFuncOp`, which either causes a "redefinition of symbol" error or
silently introduces a renamed symbol (`@free_0`) that won't resolve at
link time.

This happens in practice when user code declares function that is also
used internally by MLIR lowerings. For example, a Fortran `bind(c,
name="free")` declaration produces a `func.func @free` in the IR. When
`memref.dealloc` is lowered (via DeallocOpLowering), it calls
lookupOrCreateFreeFn which calls lookupOrCreateFn — and since the
existing `func.func @free` is not an LLVMFuncOp, a conflicting duplicate
is created.

The fix adds a check in lookupOrCreateFn: before creating a new

    [3 lines not shown]
DeltaFile
+23-0mlir/test/Conversion/FuncToLLVM/func-duplicate-symbol.mlir
+11-0mlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
+34-02 files