LLVM/project 22f2663llvm/test/MC/COFF/ARM lit.local.cfg

[ARM] Remove llvm/test/MC/COFF/ARM/lit.local.cfg. NFC (#202342)

Given there are no files in this folder (since
ff1d084aa2f07927f3c63c93f3286822abe9d1ac) the unused lit.local.cfg can
be
removed.
DeltaFile
+0-2llvm/test/MC/COFF/ARM/lit.local.cfg
+0-21 files

LLVM/project 86d4fadlibc/include/llvm-libc-macros/linux sys-socket-macros.h, libc/test/src/sys/socket/linux socketopt_test.cpp CMakeLists.txt

[libc] Add remaining SO_ constants (#202278)

There are two complications here:
- These options have different values on some architectures. These
aren't architectures we're likely to support soon, but I've left a
#error so that it lights up in a porting attempt.
- The time-related options have two flavours, depending on the
sizeof(time_t). Since we now support only 64-bit time_t, and only
kernels newer than 5.10, we can unconditionally use the new versions
(released in 5.1). I added a test for one of the time options to verify
that it works.
DeltaFile
+83-0libc/include/llvm-libc-macros/linux/sys-socket-macros.h
+49-0libc/test/src/sys/socket/linux/socketopt_test.cpp
+6-0libc/test/src/sys/socket/linux/CMakeLists.txt
+138-03 files

LLVM/project 5b6236cflang-rt/lib/runtime CMakeLists.txt, llvm/cmake/modules LLVMExternalProjectUtils.cmake

[Runtimes] Drop 'flang' from runtimes configure dependency (#198205)

Summary:
This PR cuts `flang` out of the core runtimes configure dependency. We
will need the runtimes infrastructure to handle `flang` module
generation, but this dependency poisons the entire dependency stack.
`flang` and `mlir` are by far the heavily parts of the LLVM stack and
for distribution we want to only build it when absolutely necessary,
which as of now is only to install flang module files.

The approach here is to simply remove the `flang` target from the core
dependency tree, but intead configure it for the top-level `module`
targets which are part of `all`. To make this work we need to pass
COMPILER_WORKS and set up a dummy location so that configuration passes.
it's a little backdoor, but this is an extremely important quality of
life improvement for LLVM distribution support.
DeltaFile
+41-5llvm/runtimes/CMakeLists.txt
+24-6runtimes/cmake/config-Fortran.cmake
+21-0flang-rt/lib/runtime/CMakeLists.txt
+12-2openmp/module/CMakeLists.txt
+1-4llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+99-175 files

LLVM/project 1d29f3ellvm/docs AMDGPUUsage.rst

[AMDGPU] Drop docs for invalid load-release and store-acquire operations

The LangRef says "release and acq_rel orderings are not valid on load
instructions" [for loads](https://llvm.org/docs/LangRef.html#load-instruction)
and "acquire and acq_rel orderings aren't valid on store instructions"
[for stores](https://llvm.org/docs/LangRef.html#store-instruction).
Providing them in textual IR is diagnosed with an error.

Therefore, we should not define semantics for these invalid constructs.

Part of LCOMPILER-2273.
DeltaFile
+0-9llvm/docs/AMDGPUUsage.rst
+0-91 files

LLVM/project d11a719llvm/docs LangRef.rst, llvm/lib/IR Verifier.cpp

Revert "[IR] Reject unhandled assume bundles and seperate them from normal attributes" (#202336)

Reverts llvm/llvm-project#197007

This causes an assertion failure.
DeltaFile
+217-0llvm/test/Transforms/Util/assume-builder.ll
+112-0llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
+55-55llvm/docs/LangRef.rst
+44-56llvm/lib/IR/Verifier.cpp
+39-50llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+81-0llvm/test/Transforms/Attributor/nofree.ll
+548-16117 files not shown
+684-59323 files

LLVM/project 57297d5flang/lib/Semantics resolve-names.cpp, flang/test/Semantics/OpenMP declare-target-resolve.f90

Limit name collection to extended list items
DeltaFile
+24-12flang/test/Semantics/OpenMP/declare-target-resolve.f90
+6-0flang/lib/Semantics/resolve-names.cpp
+30-122 files

LLVM/project 3f5c25fclang/include/clang/Basic Builtins.td, clang/lib/AST ASTContext.cpp

[clang] Implement C2y stdc_memreverse8 and stdc_memreverse8u{8,16,32,64} builtins (#197358)

Implements the C2y <stdbit.h> memory reversal functions stdc_memreverse8
and stdc_memreverse8u{8,16,32,64}. The typed variants lower to
llvm.bswap and support constexpr evaluation.
DeltaFile
+107-0clang/test/CodeGen/builtin-stdc-memreverse8.c
+84-0clang/test/Sema/builtin-stdc-memreverse8.c
+35-0clang/lib/CodeGen/CGBuiltin.cpp
+28-2clang/lib/AST/ASTContext.cpp
+17-0clang/include/clang/Basic/Builtins.td
+13-0clang/lib/Sema/SemaChecking.cpp
+284-29 files not shown
+330-315 files

LLVM/project 55611declang/docs ReleaseNotes.rst, clang/include/clang/Sema DeclSpec.h

[clang][Sema]fix crash of invalid friend declaration with storage-class specifier (#190597)

Fix an assertion failure in Sema::ActOnFriendTypeDecl when parsing an
invalid friend type declaration that incorrectly includes a
storage-class specifier (e.g., 'static', 'extern', 'register').

Root cause:
If the type specifier is marked as invalid, DeclSpec::Finish returns
early. However, even when the type specifier is invalid, some other
checks can still be performed instead of skipping everything.

This change allows necessary checks to proceed, preventing the
assertion in ActOnFriendTypeDecl and enabling proper error diagnostics.

Fixes: https://github.com/llvm/llvm-project/issues/186569

Co-authored-by: victorl <liuvicsen at gmail.com>
DeltaFile
+17-8clang/lib/Sema/DeclSpec.cpp
+4-0clang/include/clang/Sema/DeclSpec.h
+1-0clang/test/CXX/class/class.friend/p6.cpp
+1-0clang/docs/ReleaseNotes.rst
+23-84 files

LLVM/project 91d54b4llvm/lib/Transforms/Scalar StructurizeCFG.cpp, llvm/test/Transforms/StructurizeCFG callbr.ll

make island naming in tests consistent; improve two edge cases
DeltaFile
+130-68llvm/test/Transforms/StructurizeCFG/callbr.ll
+13-17llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+143-852 files

LLVM/project 307cb2fflang/lib/Semantics resolve-names.cpp, flang/test/Semantics/OpenMP declare-target-resolve.f90 declare-target-common-block2.f90

Reset declared-by-declare-target when encountered in designator
DeltaFile
+51-0flang/test/Semantics/OpenMP/declare-target-resolve.f90
+0-23flang/test/Semantics/OpenMP/declare-target-common-block2.f90
+0-23flang/test/Semantics/OpenMP/declare-target-equivalence.f90
+10-0flang/lib/Semantics/resolve-names.cpp
+61-464 files

LLVM/project 32c3d95clang/test/CodeGen/LoongArch/lasx builtin-alias.c builtin.c, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll memintrinsic-unroll.ll

Merge branch 'main' into users/jeanPerier/mem2reg-fix-197158
DeltaFile
+5,590-5,510llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+3,563-3,543llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+6,598-111llvm/test/CodeGen/X86/clmul-vector.ll
+2,749-2,749clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
+2,745-2,745clang/test/CodeGen/LoongArch/lasx/builtin.c
+31,714-14,6685,871 files not shown
+316,766-177,7765,877 files

LLVM/project c65e6dallvm/test/tools/llvm-cgdata error.test, llvm/test/tools/llvm-offload-binary llvm-offload-binary.ll

[z/OS] Mark 19 tests UNSUPPORTED on z/OS due to an issue in printf. (#196391)

Those tests fail on z/OS because printf interprets octal escape
sequences as EBCDIC characters and converts them to ASCII, producing
incorrect values in the output.
DeltaFile
+4-1llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
+5-0llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
+5-0llvm/test/tools/llvm-cgdata/error.test
+4-1llvm/test/tools/llvm-profdata/raw-two-profiles.test
+4-1llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
+4-1llvm/test/tools/llvm-profdata/raw-32-bits-le.test
+26-413 files not shown
+81-1119 files

LLVM/project 3e03c88llvm/test/MC/ARM directive-type-diagnostics.s

[ARM] Delete llvm/test/MC/ARM/directive-type-diagnostics.s (NFC) (#201080)

It's bit-identical to llvm/test/MC/ELF/ARM/directive-type-diagnostics.s
DeltaFile
+0-10llvm/test/MC/ARM/directive-type-diagnostics.s
+0-101 files

LLVM/project 0552e40.github/workflows/containers/libc Dockerfile

[libc][ci] Add arm-linux-gnueabihf toolchain to libc docker image. (#202099)

To prevent regression for arm-linux-gnueabihf target. See
https://github.com/llvm/llvm-project/issues/201678
DeltaFile
+2-0.github/workflows/containers/libc/Dockerfile
+2-01 files

LLVM/project 32d9562mlir/lib/Transforms Mem2Reg.cpp, mlir/test/Dialect/LLVMIR mem2reg-dbginfo.mlir

update pass documentation and add test
DeltaFile
+43-40mlir/lib/Transforms/Mem2Reg.cpp
+22-0mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
+65-402 files

LLVM/project 377e0fbllvm/docs LangRef.rst, llvm/lib/IR Verifier.cpp

[IR] Reject unhandled assume bundles and seperate them from normal attributes (#197007)

This patch introduces the concepts of bundle attributes and updates the
code base to use them in most places where assume bundles are handled.
The notable exception is the knowledge retention API, since it tries to
be generic for attributes. However, the `--assume-preserve-all` flag is
removed, since all attributes not listed in the bundle attributes are
rejected by the verifier now. This shouldn't be a huge problem, since
any attributes not listed there were completely unused.
New functions with the naming scheme `getAssume<AttrName>Info` are also
added for attributes which are used without having to enable
experimental features.
DeltaFile
+0-217llvm/test/Transforms/Util/assume-builder.ll
+0-112llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
+55-55llvm/docs/LangRef.rst
+56-44llvm/lib/IR/Verifier.cpp
+50-39llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+69-12llvm/test/Verifier/assume-bundles.ll
+230-47917 files not shown
+594-68523 files

LLVM/project 87c5364lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCClassDescriptorV2.cpp

[lldb] Use batched string reading in ClassDescriptorV2::ivar_t::Read (#201578)
DeltaFile
+13-6lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
+13-61 files

LLVM/project 9179715llvm/lib/Transforms/IPO ArgumentPromotion.cpp, llvm/test/Transforms/ArgumentPromotion align.ll

[ArgPromotion] Pass context instruction to dereferenceability check (#202305)

This is necessary for argument promotion to work under deref-at-point
semantics. For the primary case, specify the context instruction as the
first instruction in the function, which should effectively disable the
check for frees.
DeltaFile
+3-2llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
+1-0llvm/test/Transforms/ArgumentPromotion/align.ll
+4-22 files

LLVM/project 714c4a5llvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine inbounds-gep.ll

[InstCombine] Ignore frees when inferring inbounds (#202304)

From LangRef:

> Note that the object does not have to be live anymore; being
> in-bounds of a deallocated object is sufficient.
DeltaFile
+3-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+1-0llvm/test/Transforms/InstCombine/inbounds-gep.ll
+4-12 files

LLVM/project 2fc3aecllvm/test/CodeGen/DirectX/DebugInfo debug-info.ll dbg-value.ll

[DirectX] Add more CodeGen tests (#201714)

These tests were left out of the initial PRs that added the covered
functionality because the llc printed output was not yet in the right
form. It is now, so add the tests.
DeltaFile
+64-0llvm/test/CodeGen/DirectX/DebugInfo/debug-info.ll
+49-0llvm/test/CodeGen/DirectX/DebugInfo/dbg-value.ll
+37-0llvm/test/CodeGen/DirectX/DebugInfo/di-subrangetype.ll
+37-0llvm/test/CodeGen/DirectX/DebugInfo/di-label.ll
+33-0llvm/test/CodeGen/DirectX/DebugInfo/dbg-declare-undef.ll
+17-0llvm/test/CodeGen/DirectX/DebugInfo/di-compile-unit.ll
+237-06 files

LLVM/project aeb1a46llvm/lib/Target/AMDGPU SIInstrInfo.cpp, llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR inline-asm.mir

AMDGPU/UniformityAnalysis: MIR Uniformity analysis for INLINEASM (#201874)

If any of the defs are divergent, need to report instruction as
NeverUniform so that isUniformReg can calculate uniformity for each def.
DeltaFile
+13-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+3-3llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/inline-asm.mir
+16-32 files

LLVM/project cc81d46llvm/test/CodeGen/AArch64 arm64-zero-cycle-zeroing-fpr.ll arm64-zero-cycle-zeroing-gpr.ll

[AArch64] Add -global-isel runlines to ZCZ tests(NFC) (#200797)

ZCZ lowering relies on ISel (for FPR - pseudo instruction pattern
matching, for GPR - canonical form pattern matching). This patch adds a
representative -global-isel runlines to catch possible regressions,
though these are not very likely because both selectors should share the
patterns.
DeltaFile
+3-0llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-fpr.ll
+3-0llvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing-gpr.ll
+6-02 files

LLVM/project a90d690lldb/source/Plugins/Process/gdb-remote GDBRemoteCommunication.cpp

[LLDB][NFC] Move logging from GDBRemoteCommunication::CheckForPacket into a helper function (#201526)

This was a lot of the code in the middle of core logic.
DeltaFile
+64-57lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+64-571 files

LLVM/project d9012b6llvm/lib/Target/AMDGPU GCNVOPDUtils.cpp

[AMDGPU] Cache results in a bitvector for VOPDPairingMutation (#201837)

With this change the code no longer checks `(I, J)` pair when it is
known that `(_, J)` is not a valid VOPD instruction. The saving is
achieved by precomputing `(_, Y)` into a bitvector, that is also used by
`(_, I)` check, so the `(_, J)` check is "free".

---------

Co-authored-by: Antonio Carpio <antonio.carpio at amd.com>
DeltaFile
+22-9llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
+22-91 files

LLVM/project 90ce887flang/include/flang/Optimizer/HLFIR Passes.td, flang/lib/Optimizer/HLFIR/Transforms InlineHLFIRCopy.cpp InlineHLFIRCopyIn.cpp

[flang][hlfir] Extend InlineHLFIRCopy to inline copy_out with copy-back

Rename `InlineHLFIRCopyIn` to `InlineHLFIRCopy` and extend it to inline
the paired `hlfir.copy_out` operation. The copy_out is inlined at its
original location, after the call, ensuring proper ordering of copy-back
and deallocation.

Only inlines when no copy-back is required (intent(in)); intent(inout/out)
pairs are left untransformed.

Based on https://github.com/llvm/llvm-project/pull/179096.

Co-Authored-By: Kazuaki Matsumura <kmatsumura at nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+220-0flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
+0-206flang/test/HLFIR/inline-hlfir-copy-in.fir
+194-0flang/test/HLFIR/inline-hlfir-copy.fir
+0-187flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
+2-2flang/include/flang/Optimizer/HLFIR/Passes.td
+1-1flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+417-3961 files not shown
+418-3977 files

LLVM/project ff30f94lldb/source/Plugins/Process/gdb-remote GDBRemoteCommunicationClient.h GDBRemoteCommunicationClient.cpp

[lldb][gdb-remote] Plumb interrupt_timeout through SendStdinNotification (#201884)
DeltaFile
+8-1lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+4-3lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+1-1lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+13-53 files

LLVM/project 300b2a5lldb/source/Plugins/Process/Windows/Common TargetThreadWindows.cpp, lldb/source/Target ThreadList.cpp

[lldb][gdb-remote] Mark thread as stopped in RefreshStateAfterStop (#201605)
DeltaFile
+5-20lldb/test/API/functionalities/thread/state/TestThreadStates.py
+0-13lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
+0-13lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
+3-1lldb/source/Target/ThreadList.cpp
+0-1lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
+8-485 files

LLVM/project 83be200lldb/include/lldb/Host/common NativeThreadProtocol.h, lldb/source/Plugins/Process/FreeBSD NativeThreadFreeBSD.cpp

[NFC][lldb] move m_stop_info and m_stop_description up a class (#201858)

Now that Windows also clears stale thread info on resume
(https://github.com/llvm/llvm-project/pull/201595), `m_stop_description`
and `m_stop_info` can be moved into `NativeThreadProtocol`.

rdar://178725507
DeltaFile
+5-5lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
+3-6lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
+8-0lldb/include/lldb/Host/common/NativeThreadProtocol.h
+3-5lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
+2-4lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
+0-2lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
+21-223 files not shown
+21-289 files

LLVM/project 30f5bffllvm/docs AMDGPUUsage.rst

[AMDGPU] Document that only naturally aligned atomics of up to 64 bits are supported by the AMDGPU backend

We get an error from AtomicExpandPass if those constraints are not satisfied.
The 64-bit limit is set [here, in AMDGPUISelLowering.cpp](https://github.com/llvm/llvm-project/blob/5cac2751fb9cf3112d16717b278e40d07dd6cfdc/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp#L645).
DeltaFile
+3-0llvm/docs/AMDGPUUsage.rst
+3-01 files

LLVM/project 0be85f0llvm/docs AMDGPUUsage.rst

Introduce a new "Unsupported IR Constructs" section and move the point about unsupported atomics there.
DeltaFile
+12-3llvm/docs/AMDGPUUsage.rst
+12-31 files