LLVM/project 03c21b6llvm/tools/llvm-profgen ProfiledBinary.cpp ProfiledBinary.h

PIE vs DSO

Created using spr 1.3.4
DeltaFile
+7-3llvm/tools/llvm-profgen/ProfiledBinary.cpp
+5-0llvm/tools/llvm-profgen/ProfiledBinary.h
+12-32 files

LLVM/project be1be13clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow PointerFlowTest.cpp

fix a test failure on Windows
DeltaFile
+3-2clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+3-21 files

LLVM/project b0e06e5clang/test/CodeGen lifetime-bug-2.cpp

Add checks for the lpad2 and ehcleanup blocks
DeltaFile
+8-0clang/test/CodeGen/lifetime-bug-2.cpp
+8-01 files

LLVM/project 9a14f0fllvm/include/llvm/IR IntrinsicsAMDGPU.td, llvm/lib/Target/AMDGPU SIISelLowering.cpp AMDGPUInstructionSelector.cpp

[AMDGPU] Emit s_barrier_signal for s.barrier.signal.var when able (#191028)

When the member count is 0 (which causes the barrier's member count to
be re-used from a previous barrier initialization or
s.barrier.signal.var) and the barrier is constant, we can represent
named barrier signaling with the m0-less form. Enable this behavior.

Assisted by Opus 4.6 which drafted the initial implementation.
DeltaFile
+31-1llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+31-0llvm/test/CodeGen/AMDGPU/s-barrier.ll
+18-0llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
+3-1mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
+2-0llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+85-25 files

LLVM/project 17ff42fmlir/include/mlir/Dialect/LLVMIR XeVMOps.td, mlir/lib/Conversion/XeGPUToXeVM XeGPUToXeVM.cpp

[mlir][XeGPUToXeVM][XeVMToLLVM] Update the default cache-control values. (#190954)

In XeGPU, user can provide cache control value for only certain levels,
they do not have to provide cache-control value for all levels. However,
XeVM requires that each cache level must have a cache-control value. To
solve this issue, XeGPUToXeVM conversion pass adds default value to
cache-levels that does not have a user-provided cache-control value.

This PR updates this process in the following way:
- If no cache-control hint is provided for any levels, use system
default (USE_DEFAULT).
- If any of the levels has at least one cache-control value, use certain
default value for other levels.

If system default (USE_DEFAULT) is used, no cache-control metadata
annotation is necessary.
DeltaFile
+34-2mlir/test/Conversion/XeGPUToXeVM/loadstore_nd.mlir
+29-0mlir/test/Conversion/XeVMToLLVM/xevm-to-llvm.mlir
+26-0mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
+11-3mlir/lib/Conversion/XeGPUToXeVM/XeGPUToXeVM.cpp
+9-2mlir/include/mlir/Dialect/LLVMIR/XeVMOps.td
+7-4mlir/test/Conversion/XeGPUToXeVM/loadstoreprefetch.mlir
+116-114 files not shown
+123-1810 files

LLVM/project 6cb4f39clang/lib/Driver ModulesDriver.cpp, clang/test/Driver modules-driver-clang-modules-only.cpp modules-driver-manifest-input-args.cpp

[clang][ModulesDriver] Add support for Clang modules to -fmodules-driver (#187606)

This PR adds basic support for explicit module builds using Clang
modules only, managed natively by the Clang driver.
(Caching of built modules is not included in this PR.)

RFC for driver-managed module builds:

https://discourse.llvm.org/t/rfc-modules-support-simple-c-20-modules-use-from-the-clang-driver-without-a-build-system
DeltaFile
+127-0clang/test/Driver/modules-driver-clang-modules-only.cpp
+51-21clang/lib/Driver/ModulesDriver.cpp
+7-9clang/test/Driver/modules-driver-manifest-input-args.cpp
+185-303 files

LLVM/project d03e8f4libc/include inttypes.yaml elf.yaml, utils/bazel/llvm-project-overlay/libc BUILD.bazel

[libc] Remove yet another batch of header template files (#191067)

This follows up on ae63230c23151c16ba68d5213da8bd5459c03a40 and remove
header templates from more C/POSIX standard headers, where templates
only used to `#include` files with macro definitions. We add this logic
to YAML instead - add entries to the `macros` list that point to the
correct `macro_header` to ensure it would be included.
DeltaFile
+312-2libc/include/inttypes.yaml
+13-53utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+28-1libc/include/elf.yaml
+23-2libc/include/poll.yaml
+21-2libc/include/signal.yaml
+0-21libc/include/signal.h.def
+397-8124 files not shown
+498-32830 files

LLVM/project 59bafb5llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.s.monitor.sleep.ll

[AMDGPU][GISel] RegBankLegalize rules for amdgcn_s_monitor_sleep (#191063)
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.monitor.sleep.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+2-12 files

LLVM/project 5480f19clang/lib/CodeGen CGExpr.cpp

Only shorten lifetime when enabled by flag
DeltaFile
+2-1clang/lib/CodeGen/CGExpr.cpp
+2-11 files

LLVM/project f1c2e3clibc/shared/math cbrtbf16.h, libc/src/__support/math cbrtbf16.h CMakeLists.txt

[libc][math] Refactor cbrtbf16 function header-only (#188204)

Co-authored-by: bassiounix <muhammad.m.bassiouni at gmail.com>
DeltaFile
+26-0libc/src/__support/math/cbrtbf16.h
+23-0libc/shared/math/cbrtbf16.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+10-0libc/src/__support/math/CMakeLists.txt
+2-4libc/src/math/generic/cbrtbf16.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+77-93 files not shown
+80-99 files

LLVM/project 343fdb0clang/test/CodeGenCXX conditional-temporaries.cpp

Save amdgpu test update
DeltaFile
+58-46clang/test/CodeGenCXX/conditional-temporaries.cpp
+58-461 files

LLVM/project 7d8332cclang/lib/CIR/CodeGen CIRGenCleanup.cpp, clang/test/CIR/CodeGen partial-array-cleanup.cpp

Merge branch 'main' into users/ziqingluo/eng/PR-171859135
DeltaFile
+133-169llvm/test/Transforms/SLPVectorizer/AMDGPU/notriviallyvectorizableintrinsicoperands.ll
+161-0clang/test/CIR/CodeGen/partial-array-cleanup.cpp
+102-50llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
+102-50llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
+9-135clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
+137-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+644-41079 files not shown
+1,633-86285 files

LLVM/project dfd2ddcllvm/lib/Transforms/Instrumentation HWAddressSanitizer.cpp, llvm/test/Instrumentation/HWAddressSanitizer alloca.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+75-0llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
+6-1llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+81-12 files

LLVM/project b2ff0bacmake/Modules GetToolchainDirs.cmake

Add missing get_toolchain_module_subdir
DeltaFile
+11-0cmake/Modules/GetToolchainDirs.cmake
+11-01 files

LLVM/project 075094flibc/hdr/types char32_t.h, libc/shared rpc_server.h

[libc][MacOS] Enable wchar conversion and rpc_server (#191065)

Originally the wchar conversion was disabled due to MacOS not providing
uchar.h. We only needed it for char32_t so this PR just provides it
directly from our headers on MacOS. This also fixes fwrite_unlocked not
being available on MacOS which is needed for rpc_server.h.
DeltaFile
+2-6libc/test/src/__support/CMakeLists.txt
+2-6libc/src/__support/CMakeLists.txt
+6-1libc/hdr/types/char32_t.h
+4-0libc/shared/rpc_server.h
+14-134 files

LLVM/project c52d2dfclang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel EntityPointerLevel.h, clang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h

fix clang-format
DeltaFile
+2-2clang/include/clang/ScalableStaticAnalysisFramework/Analyses/EntityPointerLevel/EntityPointerLevel.h
+0-1clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+2-32 files

LLVM/project 1dc897aruntimes CMakeLists.txt

Merge branch 'users/meinersbur/runtimes_flangrt-common' into users/meinersbur/flang_builtin-mods_3
DeltaFile
+2-2runtimes/CMakeLists.txt
+2-21 files

LLVM/project 33209adclang/lib/ScalableStaticAnalysisFramework/Analyses SSAFAnalysesCommon.h

add include of ExprCXX.h
DeltaFile
+1-0clang/lib/ScalableStaticAnalysisFramework/Analyses/SSAFAnalysesCommon.h
+1-01 files

LLVM/project 4231f9dflang-rt CMakeLists.txt, flang-rt/lib CMakeLists.txt

Split RUNTIMES_FLANG_MODULES_ENABLED into RUNTIMES_ENABLE_FORTRAN/RUNTIMES_ENABLE_FLANG_MODULES
DeltaFile
+61-47runtimes/cmake/config-Fortran.cmake
+4-8openmp/module/CMakeLists.txt
+2-3openmp/CMakeLists.txt
+2-1flang-rt/CMakeLists.txt
+2-1openmp/runtime/test/lit.cfg
+1-1flang-rt/lib/CMakeLists.txt
+72-612 files not shown
+74-628 files

LLVM/project 749bb71flang-rt/cmake/modules AddFlangRT.cmake, runtimes CMakeLists.txt

Split RUNTIMES_FLANG_MODULES_ENABLED into RUNTIMES_ENABLE_FORTRAN/RUNTIMES_ENABLE_FLANG_MODULES
DeltaFile
+61-47runtimes/cmake/config-Fortran.cmake
+14-0flang-rt/cmake/modules/AddFlangRT.cmake
+2-2runtimes/CMakeLists.txt
+77-493 files

LLVM/project 67a3e4fbolt/lib/Profile DataAggregator.cpp CMakeLists.txt, bolt/test/X86 pre-aggregated-perf-shlib.test

PIE vs DSO

Created using spr 1.3.4
DeltaFile
+10-5bolt/test/X86/pre-aggregated-perf-shlib.test
+1-1bolt/lib/Profile/DataAggregator.cpp
+1-0bolt/lib/Profile/CMakeLists.txt
+12-63 files

LLVM/project d751798clang/lib/Sema SemaAPINotes.cpp

remove auto-added #include
DeltaFile
+0-1clang/lib/Sema/SemaAPINotes.cpp
+0-11 files

LLVM/project 996efeaflang/lib/Semantics expression.cpp, flang/test/Lower/CUDA cuda-device-proc.cuf

[flang][cuda] Implicitly set bind(c) called kernel as global (#191050)
DeltaFile
+14-0flang/test/Lower/CUDA/cuda-device-proc.cuf
+6-0flang/lib/Semantics/expression.cpp
+20-02 files

LLVM/project 996599dllvm/test/Transforms/LoopVectorize/VPlan expand-scev.ll

[LV] Add VPlan printing tests checking SCEV expansion (NFC). (#191053)

Add additional test cases checking VPlan output of SCEV expansions.
DeltaFile
+121-0llvm/test/Transforms/LoopVectorize/VPlan/expand-scev.ll
+121-01 files

LLVM/project 2376fdcclang/lib/Sema SemaAPINotes.cpp, clang/test/APINotes unsafe-buffer-usage.cpp

avoid adding the attribute twice
DeltaFile
+2-1clang/lib/Sema/SemaAPINotes.cpp
+3-0clang/test/APINotes/unsafe-buffer-usage.cpp
+5-12 files

LLVM/project 5033573llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp, llvm/test/CodeGen/SPIRV/linkage linkage-types.ll

[SPIR-V] Drop initializer for Import linkage type globals (#190942)

Per SPIR-V spec, variable with Import linkage must not have initializer

Fix corresponding spirv-val error:
```
error: A module-scope OpVariable with initialization value cannot be marked with the Import Linkage Type.
```

related to https://github.com/llvm/llvm-project/issues/190736
DeltaFile
+3-0llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+1-0llvm/test/CodeGen/SPIRV/linkage/linkage-types.ll
+4-02 files

LLVM/project a1418acflang/lib/Semantics check-cuda.cpp, flang/test/Lower/CUDA cuda-unified.cuf

[flang][cuda] Disable host array check when unified is enabled (#191054)
DeltaFile
+12-0flang/test/Lower/CUDA/cuda-unified.cuf
+3-0flang/lib/Semantics/check-cuda.cpp
+15-02 files

LLVM/project fbdfff4libcxx/include/__atomic contention_t.h, libcxx/include/__cxx03/__atomic contention_t.h

[libc++] Use Fuchsia futex operations (#133571)

The basic futex operations have always been available on Fuchsia.
Wire them up to properly support C++20 atomic notify_*/wait.
DeltaFile
+35-0libcxx/src/atomic.cpp
+4-4libcxx/include/__atomic/contention_t.h
+2-2libcxx/include/__cxx03/__atomic/contention_t.h
+41-63 files

LLVM/project 45a5dballvm/test/tools/UpdateTestChecks/update_mir_test_checks x86-filter.test, llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs x86-filter.mir.filter-out.expected x86-filter.mir.filter.expected

[UpdateTestChecks] Add --filter/--filter-out support to update_mir_test_checks.py

These options were already accepted by the script but silently ignored.
This patch makes them functional, consistent with update_llc_test_checks.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+67-0llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter-out.expected
+58-0llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir.filter.expected
+55-0llvm/test/tools/UpdateTestChecks/update_mir_test_checks/Inputs/x86-filter.mir
+17-0llvm/test/tools/UpdateTestChecks/update_mir_test_checks/x86-filter.test
+3-1llvm/utils/UpdateTestChecks/mir.py
+1-0llvm/utils/update_mir_test_checks.py
+201-16 files

LLVM/project be072baclang/lib/CIR/CodeGen CIRGenFunction.cpp CIRGenFunction.h

[CIR][NFC] Simplify LexicalScope::cleanup() (#191034)

The LexicalScope::cleanup() function contained a lot of logic that had
been copied from the classic codegen version of this function to
properly handle branching through cleanup blocks. Since CIR cleanups are
no longer based on blocks and branches, this had become dead code. This
change simplifies the function accordiningly. This also removes the
LexicalScope::getCleanupBlock() function which is no longer called, and
the LexicalScope::createCleanupBlock() and
LexicalScope::getOrCreateCleanupBlock() functions which weren't called
even before this change.

Assisted-by: Cursor / claude-4.6-opus-high
DeltaFile
+32-95clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+0-25clang/lib/CIR/CodeGen/CIRGenFunction.h
+32-1202 files