LLVM/project 04e094bclang/lib/CIR/CodeGen CIRGenTypes.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-buffer-rsrc-type.hip

[CIR][AMDGPU] Adds __amdgpu_buffer_rsrc_t in the buffer-resource address space
DeltaFile
+81-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-buffer-rsrc-type.hip
+3-1clang/lib/CIR/CodeGen/CIRGenTypes.cpp
+84-12 files

LLVM/project 3c7a8dfllvm/test/CodeGen/AArch64 sve-masked-scatter-64b-unscaled.ll sve-masked-gather.ll

Tidy up tests
DeltaFile
+23-15llvm/test/CodeGen/AArch64/sve-masked-scatter-64b-unscaled.ll
+12-24llvm/test/CodeGen/AArch64/sve-masked-gather.ll
+12-24llvm/test/CodeGen/AArch64/sve-masked-gather-64b-unscaled.ll
+12-20llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
+14-0llvm/test/CodeGen/AArch64/sve-masked-scatter-64b-scaled.ll
+3-6llvm/test/CodeGen/AArch64/sve-masked-gather-64b-scaled.ll
+76-896 files

LLVM/project 06aa0d9llvm/lib/Analysis Delinearization.cpp

delete unnecessary return
DeltaFile
+1-7llvm/lib/Analysis/Delinearization.cpp
+1-71 files

LLVM/project b496d06clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp Origins.cpp, clang/test/Sema/LifetimeSafety safety.cpp safety-c.c

[LifetimeSafety] Model bit_cast and atomic casts in the fact generator (#204591)

VisitCastExpr dropped several borrow-carrying cast kinds into its
default case. Propagate the borrow through
`__builtin_bit_cast`/`std::bit_cast` of a pointer and through
wrapping/unwrapping `_Atomic(T*)`, so a stack address laundered through
either is caught (matching reinterpret_cast). hasOrigins and
buildListForType now see through AtomicType, which is transparent for
lifetimes.

Assisted-by: Claude Opus 4.8

Co-authored-by: Gabor Horvath <gaborh at apple.com>
DeltaFile
+28-0clang/test/Sema/LifetimeSafety/safety.cpp
+15-2clang/test/Sema/LifetimeSafety/safety-c.c
+14-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+7-0clang/lib/Analysis/LifetimeSafety/Origins.cpp
+64-24 files

LLVM/project b9587a7lld/ELF/Arch AArch64.cpp, lld/test/ELF aarch64-tls-le.s aarch64-tlsld-ldst.s

[ELF][AArch64] Relax zero TLSLE add to nop (#204286)

Optimize AArch64 local-exec TLS relocation handling by replacing a
self-add R_AARCH64_TLSLE_ADD_TPREL_HI12 instruction with nop when the
high 12 bits are zero.

The optimization is disabled by --no-relax and avoids non-equivalent
forms such as non-self-adds and 32-bit destination registers.
DeltaFile
+15-2lld/test/ELF/aarch64-tls-le.s
+8-0lld/ELF/Arch/AArch64.cpp
+1-1lld/test/ELF/aarch64-tlsld-ldst.s
+24-33 files

LLVM/project 9361b3dllvm/test/Transforms/LoopVectorize widen-call-op-scalar-vector.ll

[LV] Add test for WidenCall with mixed scalar-vector operands (#203092)
DeltaFile
+48-0llvm/test/Transforms/LoopVectorize/widen-call-op-scalar-vector.ll
+48-01 files

LLVM/project f8bd135llvm/utils/lit/lit TestRunner.py

[lit] Make RecursionError less likely in internal shell (#204573)

The lit internal shell chains together the contents of multiple RUN:
lines by connecting them with implicit && nodes, forming a binary tree
structure which is then executed recursively by `_executeShCommand`.
However the tree structure is constructed in a very simple way which
makes it effectively just a linked list, so `_executeShCommand` must
recurse to a depth equal to the number of commands.

If a test file contains more than 1000 RUN: lines (e.g. running the
clang driver only, with lots of different options), then this causes a
RecursionError exception, which did not happen using the external shell.
Failures of this kind can be avoided by instead connecting the commands
together in a _balanced_ binary tree, which has equivalent behaviour,
since the && shell operator is associative.
DeltaFile
+14-3llvm/utils/lit/lit/TestRunner.py
+14-31 files

LLVM/project 4fe695ellvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+13-31llvm/lib/IR/Function.cpp
+4-30llvm/include/llvm/IR/Function.h
+14-18llvm/lib/Transforms/Utils/InlineFunction.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+11-13llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+3-14llvm/unittests/IR/MetadataTest.cpp
+55-12220 files not shown
+108-19326 files

LLVM/project 085e13bllvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+12-14llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+10-16llvm/lib/IR/Function.cpp
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+0-10llvm/unittests/IR/MetadataTest.cpp
+3-7llvm/include/llvm/IR/Function.h
+41-695 files not shown
+55-8011 files

LLVM/project 880a7bellvm/include/llvm/Analysis BlockFrequencyInfoImpl.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+10-16llvm/lib/IR/Function.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+0-10llvm/unittests/IR/MetadataTest.cpp
+3-7llvm/include/llvm/IR/Function.h
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+33-584 files not shown
+40-6610 files

LLVM/project 430254ellvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-16llvm/lib/IR/Function.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+12-14llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+3-7llvm/include/llvm/IR/Function.h
+0-10llvm/unittests/IR/MetadataTest.cpp
+41-695 files not shown
+55-8011 files

LLVM/project 4ace779llvm/include/llvm/Analysis BlockFrequencyInfoImpl.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-16llvm/lib/IR/Function.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+3-7llvm/include/llvm/IR/Function.h
+0-10llvm/unittests/IR/MetadataTest.cpp
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+33-584 files not shown
+40-6610 files

LLVM/project bc32aecllvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/lib/Analysis BlockFrequencyInfoImpl.cpp ProfileSummaryInfo.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+1-2llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+1-1llvm/lib/Analysis/BlockFrequencyInfo.cpp
+22-285 files

LLVM/project 198577allvm/include/llvm/Analysis ProfileSummaryInfo.h, llvm/lib/Analysis ProfileSummaryInfo.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+1-2llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+5-52 files

LLVM/project b43bb2bllvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/lib/Analysis BlockFrequencyInfoImpl.cpp ProfileSummaryInfo.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+6-6llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+1-2llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+1-1llvm/lib/Analysis/BlockFrequencyInfo.cpp
+22-285 files

LLVM/project 5a0262fllvm/include/llvm/Analysis ProfileSummaryInfo.h, llvm/lib/Analysis ProfileSummaryInfo.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+4-3llvm/lib/Analysis/ProfileSummaryInfo.cpp
+1-2llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+5-52 files

LLVM/project ac3f71dllvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+12-31llvm/lib/IR/Function.cpp
+4-30llvm/include/llvm/IR/Function.h
+14-18llvm/lib/Transforms/Utils/InlineFunction.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+11-13llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+3-14llvm/unittests/IR/MetadataTest.cpp
+54-12224 files not shown
+112-20730 files

LLVM/project 6e33aebllvm/include/llvm/Analysis BlockFrequencyInfoImpl.h ProfileSummaryInfo.h, llvm/include/llvm/IR Function.h

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+13-31llvm/lib/IR/Function.cpp
+4-30llvm/include/llvm/IR/Function.h
+14-18llvm/lib/Transforms/Utils/InlineFunction.cpp
+10-16llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
+11-13llvm/include/llvm/Analysis/ProfileSummaryInfo.h
+3-14llvm/unittests/IR/MetadataTest.cpp
+55-12220 files not shown
+108-19326 files

LLVM/project 3b1a922llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize metadata.ll invariant-store-vectorization-2.ll

[VPlan] Extend licm to sink replicate stores (#191026)

Follow up on hoisting replicate loads in VPlan-licm to also sink
replicate stores.
DeltaFile
+48-21llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+20-20llvm/test/Transforms/LoopVectorize/metadata.ll
+10-8llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
+9-9llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
+6-6llvm/test/Transforms/LoopVectorize/first-order-recurrence-with-uniform-ops.ll
+6-6llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
+99-7014 files not shown
+140-11320 files

LLVM/project 6352a58mlir/include/mlir/IR BuiltinAttributes.td

[mlir][IR] Fix typo in code example of DenseTypedElementsAttr (#204739)

There was a typo in the type-first syntax code example.
DeltaFile
+1-1mlir/include/mlir/IR/BuiltinAttributes.td
+1-11 files

LLVM/project c67b4daclang/include/clang/Driver BoundArch.h Action.h, clang/lib/Driver Driver.cpp

clang/Driver: Use struct type for BoundArch instead of StringRef

Change BoundArch arguments in the clang driver from StringRef (or
sometimes const char*) to a dedicated struct type that contains both
the architecture string and a parsed OffloadArch enum field. In the
future it may be useful to contain other feature bits here.

Co-Authored-By: Claude Opus 4.6 <noreply at anthropic.com>
DeltaFile
+132-140clang/lib/Driver/Driver.cpp
+49-0clang/include/clang/Driver/BoundArch.h
+22-25clang/lib/Driver/ToolChains/Cuda.cpp
+23-23clang/include/clang/Driver/Action.h
+23-22clang/lib/Driver/ToolChains/AMDGPU.cpp
+18-24clang/lib/Driver/ToolChains/Darwin.cpp
+267-23484 files not shown
+573-59990 files

LLVM/project cd520a0mlir/include/mlir/IR BuiltinAttributes.td

[mlir][IR] Fix typo in code example of DenseTypedElementsAttr
DeltaFile
+1-1mlir/include/mlir/IR/BuiltinAttributes.td
+1-11 files

LLVM/project 7d122c3clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety dangling-global.cpp safety-c.c

[LifetimeSafety] Propagate loans through pointer inc/dec and compound assignment (#204477)
DeltaFile
+48-1clang/test/Sema/LifetimeSafety/dangling-global.cpp
+25-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+22-0clang/test/Sema/LifetimeSafety/safety-c.c
+95-23 files

LLVM/project d87e513clang/test/Sema enable_if.c, clang/test/SemaCXX enable_if.cpp

[clang][test] Use #marker in enable_if tests (#204624)

I just wasted way too long trying to figure out why my newly added RUN
lines were randomly broken or not.

Stop using absolute line numbers.
DeltaFile
+61-27clang/test/SemaCXX/enable_if.cpp
+35-14clang/test/Sema/enable_if.c
+96-412 files

LLVM/project 819a7afllvm/lib/Analysis ScalarEvolutionDivision.cpp

[SCEVDivision] Add assertion to check operand types match
DeltaFile
+2-0llvm/lib/Analysis/ScalarEvolutionDivision.cpp
+2-01 files

LLVM/project e50106ellvm/lib/Analysis Delinearization.cpp, llvm/test/Analysis/Delinearization inconsistent-types.ll

[Delinearization] Narrow the scope of the term collection
DeltaFile
+4-10llvm/lib/Analysis/Delinearization.cpp
+1-4llvm/test/Analysis/Delinearization/inconsistent-types.ll
+5-142 files

LLVM/project 0ad5d54llvm/include/llvm/Target/GlobalISel Combine.td, llvm/lib/CodeGen/GlobalISel CombinerHelper.cpp

[GlobalISel] TableGen memcpy-like prelegalizer combines (#203235)

This removes the corresponding handwritten C++ combine handling from the
AArch64 prelegalizer combiners.

Assisted-by: codex
DeltaFile
+40-0llvm/include/llvm/Target/GlobalISel/Combine.td
+17-13llvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
+0-21llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
+0-20llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
+16-3llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+14-2llvm/lib/Target/AArch64/AArch64Combine.td
+87-593 files not shown
+100-699 files

LLVM/project 9c50867llvm/examples/OrcV2Examples CMakeLists.txt, llvm/examples/OrcV2Examples/LLJITWithSymbolAliases LLJITWithSymbolAliases.cpp CMakeLists.txt

[ORC][examples] Add a new example showing basic symbolAliases usage. (#204733)

LLJITWithSymbolAliases shows how the symbolAliases function can be used
to introduce aliases for both JIT'd and precompiled symbols.
DeltaFile
+85-0llvm/examples/OrcV2Examples/LLJITWithSymbolAliases/LLJITWithSymbolAliases.cpp
+12-0llvm/examples/OrcV2Examples/LLJITWithSymbolAliases/CMakeLists.txt
+1-0llvm/examples/OrcV2Examples/CMakeLists.txt
+98-03 files

LLVM/project b65d510offload/libomptarget omptarget.cpp, offload/plugins-nextgen/common/src RecordReplay.cpp

[offload][OpenMP] Fix record replay when no memory is used (#201771)

Progams that do not use any memory (e.g., no mappings) were failing
because we were trying to execute zero size transfers. This commit adds
handling for this case.
DeltaFile
+17-18offload/plugins-nextgen/common/src/RecordReplay.cpp
+18-12offload/libomptarget/omptarget.cpp
+26-0offload/test/tools/omp-kernel-replay/record-replay-empty-memory.cpp
+2-1offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
+63-314 files

LLVM/project 9483793llvm/lib/Analysis ScalarEvolutionDivision.cpp

[SCEVDivision] Add assertion to check operand types match
DeltaFile
+2-0llvm/lib/Analysis/ScalarEvolutionDivision.cpp
+2-01 files