LLVM/project 8cc0259llvm/include/llvm/ExecutionEngine/Orc WaitingOnGraph.h, llvm/unittests/ExecutionEngine/Orc WaitingOnGraphTest.cpp

[ORC] Clear stale ElemToPendingSN entries in WaitingOnGraph. (#169747)

WaitingOnGraph::processReadyOrFailed was not clearing stale entries from
the ElemToPendingSN map. If symbols were removed from the
ExecutionSession and then re-added this could lead to dependencies on
the stale entries, triggering a use-after-free bug.

https://github.com/llvm/llvm-project/issues/169135
DeltaFile
+46-0llvm/unittests/ExecutionEngine/Orc/WaitingOnGraphTest.cpp
+18-4llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
+64-42 files

LLVM/project 227c15dmlir/lib/Dialect/XeGPU/Transforms XeGPUBlocking.cpp

simplify: Avoid calling getTileShape(Result&Operand) from getTileShape(op)
DeltaFile
+14-13mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
+14-131 files

LLVM/project 49516ballvm/tools/llvm-objdump SourcePrinter.cpp SourcePrinter.h

[llvm-objdump] Optimize live element tracking (#158763)

This patch significantly optimizes the LiveElementPrinter
by replacing a slow linear search with efficient hash map
lookups. It refactors the code to use a map-based system
for tracking live element addresses and managing column
assignments, leading to a major performance improvement
for large binaries.
DeltaFile
+203-56llvm/tools/llvm-objdump/SourcePrinter.cpp
+43-10llvm/tools/llvm-objdump/SourcePrinter.h
+5-5llvm/tools/llvm-objdump/llvm-objdump.cpp
+251-713 files

LLVM/project 31141b6llvm/docs LangRef.rst, llvm/lib/CodeGen PreISelIntrinsicLowering.cpp

Unsupport SW encoding

Created using spr 1.3.6-beta.1
DeltaFile
+4-60llvm/test/Transforms/PreISelIntrinsicLowering/protected-field-pointer.ll
+4-60llvm/test/Transforms/PreISelIntrinsicLowering/protected-field-pointer-addrspace1.ll
+3-23llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
+2-4llvm/docs/LangRef.rst
+13-1474 files

LLVM/project 4795f24mlir/lib/Dialect/XeGPU/Transforms XeGPUBlocking.cpp, mlir/test/Dialect/XeGPU xegpu-blocking.mlir

simplify: load_nd/store_nd/prefetch_nd use anchor layout for blocking
DeltaFile
+39-39mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
+6-5mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
+45-442 files

LLVM/project 17d207aclang/lib/Analysis/FlowSensitive/Models UncheckedStatusOrAccessModel.cpp, clang/unittests/Analysis/FlowSensitive UncheckedStatusOrAccessModelTestFixture.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+102-0clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
+84-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+186-02 files

LLVM/project 6178706llvm/test/CodeGen/AMDGPU minimumnum.bf16.ll maximumnum.bf16.ll, llvm/test/CodeGen/RISCV/rvv vluxei.ll

Address review comments

Created using spr 1.3.6-beta.1
DeltaFile
+4,734-0llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlseg-vsseg.s
+1,529-1,529llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
+838-838llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+838-838llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+1,560-19llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
+0-1,554llvm/test/CodeGen/RISCV/rvv/vluxei.ll
+9,499-4,7782,383 files not shown
+58,721-154,4962,389 files

LLVM/project 35ca906llvm/test/CodeGen/AMDGPU maximumnum.bf16.ll minimumnum.bf16.ll, llvm/test/CodeGen/RISCV/rvv vluxei.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+4,734-0llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/vlseg-vsseg.s
+1,529-1,529llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
+838-838llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+838-838llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+1,560-19llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
+0-1,554llvm/test/CodeGen/RISCV/rvv/vluxei.ll
+9,499-4,7782,382 files not shown
+58,690-154,4682,388 files

LLVM/project ae01e29mlir/lib/Dialect/XeGPU/Transforms XeGPUBlocking.cpp, mlir/test/Dialect/XeGPU xegpu-blocking.mlir

simplify: load/store/prefetch/loadmatrix/storematrix use anchor layout for blocking
DeltaFile
+62-29mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
+34-40mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
+96-692 files

LLVM/project 2f71e60llvm/utils/git requirements_upload_release.txt requirements_upload_release.txt.in, llvm/utils/release github-upload-release.py

github-upload-release.py: add requirements and lock files for installing dependencies (#169461)

Adds requirements.txt and lock files for installing dependencies for
github-upload-release.py script.

Signed-off-by: Ryan Mast <mast.ryan at gmail.com>
DeltaFile
+326-0llvm/utils/git/requirements_upload_release.txt
+10-0llvm/utils/git/requirements_upload_release.txt.in
+3-0llvm/utils/release/github-upload-release.py
+339-03 files

LLVM/project 36bed4dlld/MachO Driver.cpp InputFiles.cpp, lld/test/MachO read-workers.s

[lld][MachO] Follow-up to use madvise() for threaded file page-in. (#157917)

Further to
https://github.com/llvm/llvm-project/pull/147134#discussion_r2337246489,
switch to use the madvise() api to page in mmap'd files and

1) All new code compiled in #if LLVM_ENABLE_THREADS is set so it can be
seen where the changes were from this PR.
2) The new PR moves to use madvise() instead of the ad-hoc page
referencing code I wrote which should avoid SIGSEGVs if the buffer is
deallocated.
3) A new property SerialBackgroundQueue().stopAllWork to be used to stop
background workers when there is no further call for them. Usually the
background "page-in" threads have completed first but it seems with this
troublesome test this is not always the case and buffers stored in the
static input file cache are being deallocated while being referenced.

---------

Co-authored-by: James Henderson <James.Henderson at sony.com>
DeltaFile
+33-13lld/MachO/Driver.cpp
+0-3lld/test/MachO/read-workers.s
+2-1lld/MachO/InputFiles.cpp
+2-1llvm/lib/Object/Archive.cpp
+37-184 files

LLVM/project 2bef14cclang/test/CIR/CodeGen builtin_bit.cpp builtins-overflow.cpp, clang/test/CIR/CodeGenBuiltins builtin_bit.cpp builtins-overflow.cpp

[CIR][NFC] Move builtin tests to their own directory (#169737)

This moves all builtin-related CodeGen tests to a new directory,
separate from the main clang/test/CIR/CodeGen directory. This will make
it easier to run the basic CodeGen tests without running the builtin
tests. This is specifically intended to move those tests which include
`immintrin.h` or any of its variants, which take a very long time to
compile with a debug build.
DeltaFile
+628-0clang/test/CIR/CodeGenBuiltins/builtin_bit.cpp
+0-628clang/test/CIR/CodeGen/builtin_bit.cpp
+0-374clang/test/CIR/CodeGen/builtins-overflow.cpp
+374-0clang/test/CIR/CodeGenBuiltins/builtins-overflow.cpp
+308-0clang/test/CIR/CodeGenBuiltins/builtin_call.cpp
+0-308clang/test/CIR/CodeGen/builtin_call.cpp
+1,310-1,31038 files not shown
+2,881-2,88144 files

LLVM/project 3a074c3lldb/tools/lldb-dap EventHelper.cpp DAP.cpp, lldb/tools/lldb-dap/Handler InitializeRequestHandler.cpp

Revert "[lldb-dap] Add multi-session support with shared debugger instances (…"

This reverts commit 5ab3375b2cf461ab02704d129a1f4d5ba1a1e275.
DeltaFile
+0-320lldb/tools/lldb-dap/EventHelper.cpp
+213-96lldb/tools/lldb-dap/DAP.cpp
+0-142lldb/tools/lldb-dap/DAPSessionManager.cpp
+0-119lldb/tools/lldb-dap/DAPSessionManager.h
+0-103lldb/unittests/DAP/DAPSessionManagerTest.cpp
+56-2lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
+269-78219 files not shown
+319-1,09125 files

LLVM/project dab4413llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp

Fix sanitizer failure introduced by #133537
DeltaFile
+1-0llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+1-01 files

LLVM/project 20d95c8clang/lib/CIR/Dialect/IR CIRDialect.cpp, clang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp

[CIR] Add undef handling to enable global lambdas (#169721)

This change adds undef handling that was needed to enable global
lambdas. There was no lambda-specific code needed, but the global lambda
handling needed to initialize a global with an undef value.

[CIR] Handle undef init of struct

This adds handling for a case where Clang initializes a struct to undef
with a constant copy. This required adding support for undef constants
and lowering undef attributes to LLVM IR.
DeltaFile
+33-0clang/test/CIR/CodeGen/lambda.cpp
+16-6clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+6-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+55-63 files

LLVM/project 216b9fallvm/test/Transforms/SLPVectorizer/X86 multi-node-user-with-copyable-ops.ll

[SLP][NFC]Add another test with the user with multiple copyable operands, NFC
DeltaFile
+52-0llvm/test/Transforms/SLPVectorizer/X86/multi-node-user-with-copyable-ops.ll
+52-01 files

LLVM/project d5778a7libcxx/include mutex semaphore, libcxx/include/__thread thread.h

[libc++] Applied `[[nodiscard]]` to concurrency (partially) (#169463)

`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.

- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant

The following utilities have been annotated in this patch:

- [x] `<barrier>`
- [x] `<condition_variable>`
- [x] `<latch>`
- [x] `<mutex>`
- [x] `<semaphore>`
- [x] `<thread>`

N.B. Some classes don't provide all specified methods, which were not
annotated.
DeltaFile
+144-0libcxx/test/libcxx/thread/nodiscard.verify.cpp
+0-29libcxx/test/std/thread/thread.jthread/nodiscard.verify.cpp
+11-10libcxx/include/mutex
+4-4libcxx/include/semaphore
+4-4libcxx/include/__thread/thread.h
+4-2libcxx/include/latch
+167-493 files not shown
+173-539 files

LLVM/project 98efdcblibc/include stdio.yaml, libc/src/stdio vsnprintf_modular.cpp CMakeLists.txt

Modularize vsnprintf
DeltaFile
+53-0libc/src/stdio/vsnprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vsnprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/vsnprintf.h
+68-15 files

LLVM/project 860aaddlibc/include stdio.yaml CMakeLists.txt, libc/include/llvm-libc-macros CMakeLists.txt _LIBC_MODULAR_FORMAT_PRINTF.h

Add attribute to printf
DeltaFile
+21-1libc/include/llvm-libc-macros/CMakeLists.txt
+15-0libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF.h
+14-0libc/include/llvm-libc-macros/_LIBC_MODULAR_FORMAT_PRINTF-disable.h
+2-0libc/include/stdio.yaml
+1-0libc/include/CMakeLists.txt
+53-15 files

LLVM/project de55c10libc/utils/hdrgen/hdrgen header.py, libc/utils/hdrgen/tests/expected_output test_header.h test_small.json

Allow function-style attribute macros
DeltaFile
+2-1libc/utils/hdrgen/tests/expected_output/test_header.h
+1-1libc/utils/hdrgen/hdrgen/header.py
+1-0libc/utils/hdrgen/tests/input/merge1.yaml
+1-0libc/utils/hdrgen/tests/expected_output/test_small.json
+5-24 files

LLVM/project 854b903libc/src/stdio/baremetal printf_modular.cpp, libc/src/stdio/printf_core parser.h float_impl.cpp

[libc] Modular printf option (float only)

This adds LIBC_CONF_PRINTF_MODULAR, which causes floating point support
(later, others) to be weakly linked into the implementation.
__printf_modular becomes the main entry point of the implementaiton, an
printf itself wraps __printf_modular. printf it also contains a
BFD_RELOC_NONE relocation to bring in the float aspect.

See issue #146159 for context.
DeltaFile
+44-13libc/src/stdio/printf_core/parser.h
+56-0libc/src/stdio/printf_core/float_impl.cpp
+55-0libc/src/stdio/baremetal/printf_modular.cpp
+14-4libc/src/stdio/printf_core/vfprintf_internal.h
+13-3libc/src/stdio/printf_core/printf_main.h
+13-0libc/src/stdio/printf_core/float_dec_converter.h
+195-2011 files not shown
+251-2217 files

LLVM/project 5b5b3b4libc/include stdio.yaml, libc/src/stdio vsprintf_modular.cpp CMakeLists.txt

Modularize vsprintf
DeltaFile
+51-0libc/src/stdio/vsprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vsprintf.cpp
+2-0libc/src/stdio/vsprintf.h
+2-0libc/include/stdio.yaml
+66-15 files

LLVM/project d2c0b0dlibc/include stdio.yaml, libc/src/stdio asprintf_modular.cpp CMakeLists.txt

Modularize asprintf
DeltaFile
+43-0libc/src/stdio/asprintf_modular.cpp
+5-1libc/src/stdio/CMakeLists.txt
+4-1libc/src/stdio/printf_core/vasprintf_internal.h
+5-0libc/src/stdio/asprintf.cpp
+2-0libc/include/stdio.yaml
+1-0libc/src/stdio/asprintf.h
+60-26 files

LLVM/project 1f6d163libc/include stdio.yaml, libc/src/stdio vprintf.h

Modularize baremetal vprintf
DeltaFile
+67-0libc/src/stdio/baremetal/vprintf_modular.cpp
+5-1libc/src/stdio/baremetal/CMakeLists.txt
+5-0libc/src/stdio/baremetal/vprintf.cpp
+2-0libc/include/stdio.yaml
+1-0libc/src/stdio/vprintf.h
+80-15 files

LLVM/project 98c6aedlibc/include stdio.yaml, libc/src/stdio vasprintf_modular.cpp CMakeLists.txt

Modularize vasprintf
DeltaFile
+38-0libc/src/stdio/vasprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/vasprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/vasprintf.h
+53-15 files

LLVM/project 6e4b47alibc/include stdio.yaml, libc/src/stdio sprintf_modular.cpp CMakeLists.txt

Modularize sprintf
DeltaFile
+55-0libc/src/stdio/sprintf_modular.cpp
+6-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/sprintf.cpp
+2-0libc/src/stdio/sprintf.h
+2-0libc/include/stdio.yaml
+70-15 files

LLVM/project 41e84a7libc/include stdio.yaml, libc/src/stdio snprintf_modular.cpp CMakeLists.txt

Modularize snprintf
DeltaFile
+56-0libc/src/stdio/snprintf_modular.cpp
+5-1libc/src/stdio/CMakeLists.txt
+5-0libc/src/stdio/snprintf.cpp
+2-0libc/include/stdio.yaml
+2-0libc/src/stdio/snprintf.h
+70-15 files

LLVM/project 3d596adclang/test/Driver hip-spirv-backend-opt.c

[clang][Driver] Use -no-canonical-prefixes in hip-spirv-backend-opt test (#169717)

Otherwise the test can fail in weirder setups (like ours downstream
where the actual binary path only contains the hash of the object). This
makes the test more resilient, more consistent with other driver tests,
and allows us to assert that the binary is named clang rather than
clang-<some suffix>.
DeltaFile
+14-14clang/test/Driver/hip-spirv-backend-opt.c
+14-141 files

LLVM/project 9871d70mlir/include/mlir/Dialect/OpenACC OpenACC.h, mlir/include/mlir/Dialect/OpenACC/Transforms Passes.td

[mlir][acc] Introduce ACCImplicitDeclare pass for globals handling (#169720)

This commit introduces the ACCImplicitDeclare pass to the OpenACC
dialect, complementing ACCImplicitData by handling global variables
referenced in OpenACC compute regions and routines.

Overview:
---------
The pass applies implicit `acc declare` actions to global variables
referenced in OpenACC regions. While the OpenACC spec focuses on
implicit data mapping (handled by ACCImplicitData), implicit declare is
advantageous and required for specific cases:

1. Globals referenced in implicit `acc routine` - Since data mapping
only applies to compute regions, globals in routines must use `acc
declare`.

2. Compiler-generated globals - Type descriptors, runtime names, and
error reporting strings introduced during compilation that wouldn't be

    [30 lines not shown]
DeltaFile
+429-0mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
+175-0mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
+28-0mlir/include/mlir/Dialect/OpenACC/Transforms/Passes.td
+5-0mlir/include/mlir/Dialect/OpenACC/OpenACC.h
+1-0mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
+638-05 files

LLVM/project 4845424llvm/lib/Target/SPIRV SPIRVGlobalRegistry.cpp

[SPIRV] Fix a warning

This patch fixes:

  llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:245:25: error: unused
  variable 'TII' [-Werror,-Wunused-variable]
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+1-11 files