LLVM/project c3a0eb4clang/lib/Serialization ASTReaderDecl.cpp, clang/test/Modules decl-attr-merge2.c

[Modules] Don't merge attributes for namespace redeclarations. (#214361)

Follow-up to #208348 which aimed to handle decl attributes on
deserialization the same way as during parsing. Turned out during
parsing we don't merge attributes for namespace redeclarations.
DeltaFile
+18-2clang/test/Modules/decl-attr-merge2.c
+1-1clang/lib/Serialization/ASTReaderDecl.cpp
+19-32 files

LLVM/project e4cccd7llvm/lib/CodeGen/AsmPrinter DwarfDebug.h

[DWARF] Update comment for useSplitDwarf (#214241)

The comment was introduced originally in
55c51815250a25b78ed8ac3dee0a0a843ac636ed. Since that time, split DWARF
is no longer a proposal and is officially a part of the standard, so
update the comment.
DeltaFile
+1-2llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+1-21 files

LLVM/project 13e1dd9llvm/tools/llvm-reduce llvm-reduce.cpp

[llvm-reduce] Remove outdated bugpoint comment

Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. The
comment is also incorrect. llvm-reduce eventually subsumed bugpoint, not
the other way around.

Reviewers: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/214254
DeltaFile
+1-3llvm/tools/llvm-reduce/llvm-reduce.cpp
+1-31 files

LLVM/project 8476820clang/test/CodeGen/AArch64 neon-intrinsics.c, clang/test/CodeGen/AArch64/neon add.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-626clang/test/CodeGen/AArch64/neon-intrinsics.c
+557-0clang/test/CodeGen/AArch64/neon/add.c
+224-0libcxx/test/support/test.support/test_allocators.pass.cpp
+160-9flang/test/Transforms/CUF/cuf-alloc-delay.fir
+112-51flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
+113-0libcxx/utils/libcxx/test/features/hardening.py
+1,166-686317 files not shown
+2,030-1,559323 files

LLVM/project f5fe998llvm/include/llvm LinkAllPasses.h, llvm/include/llvm/Support DebugCounter.h

[Transforms] Remove bugpoint references

Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9.

Reviewers: rnk, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/214253
DeltaFile
+9-9llvm/include/llvm/Support/DebugCounter.h
+4-4llvm/lib/CodeGen/MachineBasicBlock.cpp
+0-5llvm/include/llvm/Transforms/IPO.h
+2-1llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
+1-1llvm/include/llvm/Transforms/Utils/MetaRenamer.h
+1-1llvm/include/llvm/LinkAllPasses.h
+17-211 files not shown
+18-227 files

LLVM/project 14ed8c2clang/test/CodeGen/AArch64 neon-intrinsics.c, clang/test/CodeGen/AArch64/neon add.c

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-626clang/test/CodeGen/AArch64/neon-intrinsics.c
+557-0clang/test/CodeGen/AArch64/neon/add.c
+224-0libcxx/test/support/test.support/test_allocators.pass.cpp
+160-9flang/test/Transforms/CUF/cuf-alloc-delay.fir
+112-51flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
+113-0libcxx/utils/libcxx/test/features/hardening.py
+1,166-686317 files not shown
+2,030-1,559323 files

LLVM/project 8277177llvm/lib/Transforms/IPO LoopExtractor.cpp, llvm/test/Transforms/CodeExtractor LoopExtractor_infinite.ll LoopExtractor_alloca.ll

[Transforms] Delete loop-extract pass

This was only used by bugpoint as far as I can tell, which was deleted
in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. Given it is not used
anywhere, remove it.

I'm also not sure it's super useful for downstreams. When we were doing
a research project during my undergrad that needed loop extraction, we
ended up writing our own utilities to do this for reasons that I cannot
remember exactly.

Reviewers: artagnon, nikic

Pull Request: https://github.com/llvm/llvm-project/pull/214252
DeltaFile
+0-289llvm/lib/Transforms/IPO/LoopExtractor.cpp
+0-198llvm/test/Transforms/CodeExtractor/2004-03-18-InvokeHandling.ll
+0-75llvm/test/Transforms/CodeExtractor/2004-03-13-LoopExtractorCrash.ll
+0-68llvm/test/Transforms/CodeExtractor/LoopExtractor.ll
+0-54llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
+0-53llvm/test/Transforms/CodeExtractor/LoopExtractor_infinite.ll
+0-73718 files not shown
+0-1,11324 files

LLVM/project 0fcc3dfflang/include/flang/Optimizer/Builder/Runtime Assign.h, flang/lib/Optimizer/Builder/Runtime Assign.cpp

[flang] - Call _FortranAAssignSimple instead of _FortranAAssign for intrinsic-type array assignments.

This patch adds support for calling _FortranAAssignSimple, a faster-path for array assignments.
`_FortranAAssignSimple` is called when ALL the following conditions are true:
1. Intrinsic element type (not derived type)
2. Matching ranks (no scalar-to-array broadcasting)
3. Non-volatile
4. Not polymorphic
5. Not explicit-length character
6. Not temporary LHS

Otherwise, uses `_FortranAAssign` (or specialized variants like `_FortranAAssignPolymorphic`, `_FortranAAssignExplicitLengthCharacter`).

This is a (perhaps final) part of the fix for https://github.com/llvm/llvm-project/issues/203915
DeltaFile
+287-0flang/test/HLFIR/assign-simple-routing.fir
+46-4flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
+19-13flang/lib/Optimizer/OpenMP/LowerWorkdistribute.cpp
+13-0flang/lib/Optimizer/Builder/Runtime/Assign.cpp
+12-0flang/include/flang/Optimizer/Builder/Runtime/Assign.h
+2-2flang/test/HLFIR/assign-codegen.fir
+379-192 files not shown
+381-218 files

LLVM/project 48505dbflang-rt/lib/runtime assign.cpp

Address review comments from tblah and mjklemm
DeltaFile
+7-2flang-rt/lib/runtime/assign.cpp
+7-21 files

LLVM/project 23d73bellvm/include/llvm/BinaryFormat ELF.h, llvm/lib/ObjectYAML ELFYAML.cpp

[Support/ELF] Add OpenBSD NT_OPENBSD_PACMASK core note type (#205411)

Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h
DeltaFile
+10-2llvm/test/tools/llvm-readobj/ELF/note-openbsd-core.test
+2-0llvm/tools/llvm-readobj/ELFDumper.cpp
+1-0llvm/lib/ObjectYAML/ELFYAML.cpp
+1-0llvm/include/llvm/BinaryFormat/ELF.h
+14-24 files

LLVM/project 63465d3clang/include/clang/Parse Parser.h, clang/lib/Parse Parser.cpp

Revert "[Modules] Handle decl attributes on deserialization the same as durin…"

This reverts commit 3ce0df7ca8027229618de9802eeffe1f0023bf74.
DeltaFile
+0-79clang/test/Modules/decl-attr-merge-explicit-modules.c
+37-18clang/lib/Serialization/ASTReaderDecl.cpp
+0-38clang/test/Modules/decl-attr-merge2.c
+4-6clang/include/clang/Parse/Parser.h
+3-2clang/lib/Parse/Parser.cpp
+0-4clang/lib/Sema/Sema.cpp
+44-1476 files not shown
+49-15312 files

LLVM/project 22ee97ellvm/docs LangRef.md LangRef.rst, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll amdgcn.bitcast.1024bit.ll

Merge branch 'main' into users/jebyrnes/RepeatRateSearchable
DeltaFile
+29,629-30,274llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+0-33,206llvm/docs/LangRef.rst
+30,491-0llvm/docs/LangRef.md
+28,897-12llvm/test/CodeGen/RISCV/clmul.ll
+11,567-11,387llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+8,990-9,348llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+109,574-84,22723,327 files not shown
+1,259,187-779,50723,333 files

LLVM/project 0b12400libcxx/test/support test_allocator.h min_allocator.h, libcxx/test/support/test.support test_allocators.pass.cpp

[libc++][test] Fix construction and comparison for testing allocators (#212702)

Previously, there were several issues in the allocators provided by
`min_allocator.h` and `test_allocator.h`.

1. Some allocators did not support heterogenous rebinding construction,
and thus failed to meet the Cpp17Allocator named requirements.
2. Some allocators only had `operator==`. This was fine since C++20 but
not in C++17 where there were no rewritten candidates of `!=`.
3. Many equality operators were non-template and homogeneous. This
caused ambiguity since C++20 due to rewritten candidates.

This patch fixes these issues by
- adding missing constructors,
- adding missing `operator!=` (in pre-C++20 modes), and
- making `operator==` and some `operator!=` templates.

Note that it is intended that `operator==`'s for `test_allocator`
perform seemingly redundant constructions (via `static_cast<const

    [3 lines not shown]
DeltaFile
+224-0libcxx/test/support/test.support/test_allocators.pass.cpp
+80-18libcxx/test/support/min_allocator.h
+46-8libcxx/test/support/test_allocator.h
+350-263 files

LLVM/project 2114567libcxx/include module.modulemap.in CMakeLists.txt, libcxx/include/__cmath lerp.h

[libc++] Move lerp to its own header instead of <cmath> (#213111)

This moves <cmath> towards an umbrella header.

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+64-0libcxx/include/__cmath/lerp.h
+1-40libcxx/include/cmath
+5-0libcxx/include/complex
+1-0libcxx/include/module.modulemap.in
+1-0libcxx/include/CMakeLists.txt
+72-405 files

LLVM/project 057cc9dlibcxx/docs TestingLibcxx.rst, libcxx/test/libcxx/assertions/semantics override_with_ignore_semantic.pass.cpp override_with_observe_semantic.pass.cpp

[libc++] Refactor the conditions for enabling assertion tests (#213294)

Every hardening assertion test used to repeat a hand-rolled set of Lit
conditions like `has-unix-headers` and a bunch of others. Instead,
define a single Lit feature to handle all of them.

Assisted by Claude

Fixes #213148
DeltaFile
+113-0libcxx/utils/libcxx/test/features/hardening.py
+19-22libcxx/docs/TestingLibcxx.rst
+1-20libcxx/utils/libcxx/test/features/libcxx_macros.py
+5-6libcxx/test/libcxx/assertions/semantics/override_with_observe_semantic.pass.cpp
+4-5libcxx/test/libcxx/assertions/semantics/override_with_ignore_semantic.pass.cpp
+2-5libcxx/test/libcxx/time/time.zone/time.zone.timezone/time.zone.members/assert.to_sys_choose.pass.cpp
+144-58220 files not shown
+393-793226 files

LLVM/project 3214218libcxx/test/std/utilities/charconv/charconv.msvc test.cpp, libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction uses_allocator_construction_args.pass.cpp uninitialized_construct_using_allocator.pass.cpp

[libc++] Add missing return 0 to main functions in tests (#214190)

The libc++ test suite requires main() to explicitly return a value,
since freestanding support requires it.
DeltaFile
+2-0libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.verify.cpp
+2-0libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/ref_t.pass.cpp
+2-0libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uses_allocator_construction_args.pass.cpp
+2-0libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/uninitialized_construct_using_allocator.pass.cpp
+2-0libcxx/test/std/utilities/memory/allocator.uses/allocator.uses.construction/make_obj_using_allocator.pass.cpp
+2-0libcxx/test/std/utilities/charconv/charconv.msvc/test.cpp
+12-055 files not shown
+121-061 files

LLVM/project 5dc3fcdllvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp, llvm/test/CodeGen/ARM execute-only.ll

[AsmPrinter] Emit STT_OBJECT type and size for jump tables (#214170)

Before this change, jump tables placed in a separate section were
emitted with no symbol type, leaving them STT_NOTYPE, and with no size
in their ELF file.

This change annotates the jump tables with object type and a size when
the target supports type/size directives. Jump tables inlined into the
function's own section are already covered by that function's symbol, so
they are left as-is.

This helps when disassembling a file, to understand that the jump table
is a single complete object, rather than the symbol being purely a
location. I think this reflects the ELF semantics better.
DeltaFile
+58-0llvm/test/CodeGen/RISCV/jumptable-sizes.ll
+7-0llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+1-0llvm/test/CodeGen/X86/pic.ll
+1-0llvm/test/CodeGen/ARM/execute-only.ll
+67-04 files

LLVM/project dd15c77llvm/test/CodeGen/AMDGPU/GlobalISel regbankcombiner-merge-readanylane.mir

[AMDGPU][GlobalISel] Pre-commit tests for readanylane merge regbank combine (NFC)

Add regbank-combiner tests covering a copy to vgpr whose source is a
merge or build_vector of G_AMDGPU_READANYLANE results and uniform
values. These currently keep the round trip through sgprs, and also
cover the cases where the merge has another user and where all merge
sources are uniform.

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+103-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-merge-readanylane.mir
+103-01 files

LLVM/project c2f17bellvm/include/llvm/ExecutionEngine/Orc Core.h

[ORC] Make ExecutionSession non-copyable / non-moveable. (#214231)

Many ORC classes capture references to the ExecutionSession -- it is not
intended to be moved or copied.
DeltaFile
+5-0llvm/include/llvm/ExecutionEngine/Orc/Core.h
+5-01 files

LLVM/project 239cbf5flang/lib/Optimizer/Transforms/CUDA CUFAllocDelay.cpp, flang/test/Transforms/CUF cuf-alloc-delay.fir

[flang][cuda] Delay box cuf.alloc past host association captures (#214347)

CUFAllocDelay treated the store of a descriptor into a host association
tuple as a use, so a device allocatable captured by an internal
procedure kept its descriptor allocation in the prologue. That allocates
managed memory before the program can call cudaSetDevice, binding a CUDA
context to the wrong device.

The store now sinks together with the allocation, constrained by the
tuple's readers, and the group is placed at the nearest common dominator
of all uses so it can sink into a later block.
DeltaFile
+160-9flang/test/Transforms/CUF/cuf-alloc-delay.fir
+112-51flang/lib/Optimizer/Transforms/CUDA/CUFAllocDelay.cpp
+272-602 files

LLVM/project a27b1d9clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CodeGen/AArch64 neon-intrinsics.c

[CIR][AArch64] Upstream saturating-addition NEON builtins (#213755)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for saturating-addition intrinsics
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#saturating-addition)

Port tests from `clang/test/CodeGen/AArch64/neon-intrinsics.c` to
`clang/test/CodeGen/AArch64/neon/add.c`
DeltaFile
+0-626clang/test/CodeGen/AArch64/neon-intrinsics.c
+557-0clang/test/CodeGen/AArch64/neon/add.c
+38-1clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+595-6273 files

LLVM/project 3c8a11cclang/cmake/caches Fuchsia.cmake

[Fuchsia] Disable per-target runtime directories for Darwin (#214382)

This applies #214307 to the first stage as well.
DeltaFile
+2-1clang/cmake/caches/Fuchsia.cmake
+2-11 files

LLVM/project 7e3ae4allvm/lib/Target/PISA PISAInstructionSelector.cpp

Add getAPFloatFromSize helper
DeltaFile
+14-0llvm/lib/Target/PISA/PISAInstructionSelector.cpp
+14-01 files

LLVM/project 8ba3d8fclang/lib/CIR/CodeGen CIRGenStmt.cpp CIRGenFunction.h, clang/test/CIR/CodeGenSYCL kernel-caller-entry-point.cpp kernel-call-stmt.cpp

[CIR][SYCL] Support SYCL kernel call statement in host codegen (#213728)

Add CIRGen support for lowering SYCLKernelCallStmt during host
compilation, emitting the kernel launch statement in place of the
`sycl_kernel_entry_point` function body (mirroring classic CodeGen). 

Device compilation, were the offload kernel caller entry point
is emitted instead, is future work and thus marked as NIY.
DeltaFile
+45-0clang/test/CIR/CodeGenSYCL/kernel-call-stmt.cpp
+35-0clang/lib/CIR/CodeGen/CIRGenSYCL.cpp
+23-0clang/test/CIR/CodeGenSYCL/kernel-caller-entry-point.cpp
+17-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+6-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+3-1clang/lib/CIR/CodeGen/CIRGenStmt.cpp
+129-11 files not shown
+130-17 files

LLVM/project e063f1fllvm/include/llvm/CodeGen RemoveRedundantDebugValues.h LiveDebugValuesPass.h, llvm/include/llvm/Transforms/Scalar ScalarizeMaskedMemIntrin.h

[NPM] Make few more passes required - 2 (#213608)

as discussed in https://github.com/llvm/llvm-project/pull/203511, few of
these should not really be required (such as sink) with O0/opt-none, yet
we require this for consistency between legacy and NPM. We need to look
at the passes separately and selectively make strictly optimizing passes
optional.
DeltaFile
+1-1llvm/include/llvm/Transforms/Utils/LowerInvoke.h
+1-1llvm/include/llvm/Transforms/Utils/FixIrreducible.h
+1-1llvm/include/llvm/Transforms/Scalar/ScalarizeMaskedMemIntrin.h
+1-1llvm/include/llvm/CodeGen/RemoveRedundantDebugValues.h
+1-1llvm/include/llvm/CodeGen/LiveDebugValuesPass.h
+1-1llvm/include/llvm/CodeGen/ExpandReductions.h
+6-63 files not shown
+9-99 files

LLVM/project d77dfe7llvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ptr.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-fcopysign.mir

rebase

Created using spr 1.3.7
DeltaFile
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+1,025-625llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
+868-0llvm/test/Transforms/LoopInterchange/freeze.ll
+629-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
+311-303llvm/unittests/Object/GOFFObjectFileTest.cpp
+570-31llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+7,383-4,646325 files not shown
+19,626-7,339331 files

LLVM/project 05366e1llvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ptr.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-fcopysign.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+1,025-625llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
+868-0llvm/test/Transforms/LoopInterchange/freeze.ll
+629-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
+311-303llvm/unittests/Object/GOFFObjectFileTest.cpp
+570-31llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+7,383-4,646325 files not shown
+19,626-7,339331 files

LLVM/project c63ab73llvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ptr.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-fcopysign.mir

rebase

Created using spr 1.3.7
DeltaFile
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+1,025-625llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
+868-0llvm/test/Transforms/LoopInterchange/freeze.ll
+629-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
+311-303llvm/unittests/Object/GOFFObjectFileTest.cpp
+570-31llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+7,383-4,646325 files not shown
+19,626-7,339331 files

LLVM/project 2ac39dbllvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ptr.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-fcopysign.mir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+1,025-625llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
+868-0llvm/test/Transforms/LoopInterchange/freeze.ll
+629-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
+311-303llvm/unittests/Object/GOFFObjectFileTest.cpp
+570-31llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+7,383-4,646325 files not shown
+19,626-7,339331 files

LLVM/project ae61335llvm/test/CodeGen/AMDGPU llvm.amdgcn.tanh.ll llvm.amdgcn.permlane.ptr.ll, llvm/test/CodeGen/AMDGPU/GlobalISel legalize-fcopysign.mir

rebase

Created using spr 1.3.7
DeltaFile
+3,980-3,687llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+1,025-625llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fcopysign.mir
+868-0llvm/test/Transforms/LoopInterchange/freeze.ll
+629-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ptr.ll
+311-303llvm/unittests/Object/GOFFObjectFileTest.cpp
+570-31llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tanh.ll
+7,383-4,646325 files not shown
+19,626-7,339331 files