LLVM/project 7ec8037.github/workflows issue-release-workflow.yml

workflows/issue-release-workflow: Use GitHub app for generating tokens (#193825)

This will allow us to eliminate the RELEASE_WORKFLOW_PR_CREATE secret.
DeltaFile
+13-1.github/workflows/issue-release-workflow.yml
+13-11 files

LLVM/project 39e02c1offload/plugins-nextgen/amdgpu/dynamic_hsa hsa_ext_amd.h, offload/plugins-nextgen/amdgpu/src rtl.cpp

[Offload][AMDGPU] Use ROCr API for APU check (#193887)

Use ROCr API for checking whether a device is an APU to replace the old
implementation with hard-coded target name. This PR will make the APU
check cleaner and better maintainable.

Tested on MI210, MI300A, Strix Halo (gfx1151).
DeltaFile
+10-15offload/plugins-nextgen/amdgpu/src/rtl.cpp
+11-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+21-152 files

LLVM/project 87b95d8llvm/test/Transforms/LoopVectorize extract-value-widen.ll

Update test after rebase
DeltaFile
+2-5llvm/test/Transforms/LoopVectorize/extract-value-widen.ll
+2-51 files

LLVM/project 25f4038lld/MachO ConcatOutputSection.cpp InputSection.h

check stub targets in deferredBranchRedirects
DeltaFile
+43-26lld/MachO/ConcatOutputSection.cpp
+0-1lld/MachO/InputSection.h
+43-272 files

FreeBSD/src 93d301dcddl/usr.sbin/zdb Makefile, sys/conf kern.pre.mk kmod.mk

Remove -fms-extensions throughout the tree

During a discussion about using -fms-extensions jhb pointed out that
we have them enabled in the kernel for gcc by default (even multiple
times in one part). I had missed all that and clang still failed on
my use case (needing another option).

The original cause for enabling them for our tree back then was that
we needed to support C11 anonymous struct/unions.
Our in-tree gcc 4.2.1, despite later patches, needed the
-fms-extensions to support these even though this was not the expected
use case for that option ( cc4a90c445aa0 enabled it globally for the
kernel).
clang at that time (or at least when it became default for 10.0)
already was fine (with C11).

Any later gcc (4.6.0 onwards) did not need that option anymore, even
when compiled for -std=iso9899:1990 (which does not support anonymous
structs/unions) unless one would add -pedantic (see gcc git 4bdd0a60b27a).

    [16 lines not shown]
DeltaFile
+1-2sys/conf/kern.pre.mk
+1-1sys/powerpc/conf/dpaa/config.dpaa
+0-1cddl/usr.sbin/zdb/Makefile
+0-1sys/conf/kmod.mk
+0-1sys/modules/iser/Makefile
+0-1sys/modules/pms/Makefile
+2-72 files not shown
+2-98 files

LLVM/project 8330255lldb/test/API/commands/expression/ptrauth TestPtrAuthExpressions.py

[lldb] Fix build logic in TestPtrAuthExpressions.py (#193847)

If the triple already has `arm64e` in it, we'll end up with `arm64ee`
which is definitely wrong.
DeltaFile
+1-1lldb/test/API/commands/expression/ptrauth/TestPtrAuthExpressions.py
+1-11 files

LLVM/project a47eca0lldb/test/API/functionalities/breakpoint/same_cu_name Makefile

[lldb] Rewrite make rules for TestFileBreakpointsSameCUName.py (#193871)

The logic for building the test cases did not consider the target
triple. The easiest thing to do is use the CXXFLAGS computed by
Makefile.rules (which calculates this correctly).
DeltaFile
+6-6lldb/test/API/functionalities/breakpoint/same_cu_name/Makefile
+6-61 files

LLVM/project b7f1d31llvm/lib/Transforms/Vectorize VPlanRecipes.cpp

More conservative isSafeToSpeculativelyExecute
DeltaFile
+19-10llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+19-101 files

LLVM/project ec38360llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Update llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

Co-authored-by: Ramkumar Ramachandra <artagnon at tenstorrent.com>
DeltaFile
+3-5llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-51 files

LLVM/project fb9cf2dllvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlanTransforms.cpp

Add VPRecipeBase::isSafeToSpeculativelyExecute
DeltaFile
+16-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+4-0llvm/lib/Transforms/Vectorize/VPlan.h
+22-63 files

LLVM/project d4fd5f4llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

use VPWidenIntOrFpInductionRecipe for canonical IV bailouts
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-11 files

LLVM/project 978fb61llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Minor stylistic cleanup
DeltaFile
+12-12llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+12-121 files

LLVM/project 95b299allvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Use `post_order` directly as `vp_post_order_shallow` has been removed
DeltaFile
+2-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-21 files

LLVM/project e35ef9cllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Addressing code review comments
DeltaFile
+21-22llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+21-221 files

LLVM/project de241fcllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Extend post_order's lifetime
DeltaFile
+5-3llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+5-31 files

LLVM/project 3fd878dllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Just use `vputils::onlyFirstLaneUsed`
DeltaFile
+1-7llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-71 files

LLVM/project 2a10e79llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanTransforms.h

Don't pass RecipeBuilder

Legacy calls `setRecipe` on all processed recipes but really queries `getRecipe`
for memory operations only, that we don't touch in the scalarization as that
happens after all memory recipes has been processed.
DeltaFile
+1-3llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-2llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+1-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-63 files

LLVM/project f9c763ellvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Use `reverse`/`IsaPred`
DeltaFile
+2-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-41 files

LLVM/project e1e4f30llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlanTransforms.h, llvm/test/Transforms/LoopVectorize/AArch64 binop-costs.ll

[VPlan] Scalarize to first-lane-only directly on VPlan

This is needed to enable subsequent https://github.com/llvm/llvm-project/pull/182595.

I don't think we can fully port all scalarization logic from the legacy
path to VPlan-based right now because that would require us to introduce
interleave groups much earlier in VPlan pipeline, and without that we
can't really `assert` this new decision matches the previous CM-based
one. And without those `assert`s it's really hard to ensure we properly
port all the previous logic.

As such, I decided just to implement something much simpler that would
be enough for #182595. However, we perform this transformation before
delegating to the old CM-based decision, so it **is** effective
immediately and taking precedence even for consecutive loads/stores
right away.

Depends on https://github.com/llvm/llvm-project/pull/182592 but is stacked on
top of https://github.com/llvm/llvm-project/pull/182594 to enable linear
stacking for https://github.com/llvm/llvm-project/pull/182595.
DeltaFile
+65-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+5-5llvm/test/Transforms/LoopVectorize/AArch64/binop-costs.ll
+6-0llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+4-2llvm/test/Transforms/LoopVectorize/X86/funclet.ll
+2-2llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
+3-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+85-93 files not shown
+88-119 files

LLVM/project 978a7bemlir/include/mlir/Dialect/AMDGPU/IR AMDGPUOps.td

nit on example

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+2-1mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+2-11 files

Linux/linux f9569c6Documentation/process license-rules.rst, scripts checkpatch.pl

Merge tag 'spdx-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx

Pull SPDX update from Greg KH:
 "Here is a single SPDX-like change for 7.1-rc1. It explicitly allows
  the use of SPDX-FileCopyrightText which has been used already in many
  files.

  At the same time, update checkpatch to catch any "non allowed" spdx
  identifiers as we don't want to go overboard here.

  This has been in linux-next for a long time with no reported problems"

* tag 'spdx-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
  LICENSES: Explicitly allow SPDX-FileCopyrightText
DeltaFile
+8-0scripts/checkpatch.pl
+5-2Documentation/process/license-rules.rst
+13-22 files

FreeBSD/src 5923b36sys/sys sockio.h

net: Fix collision between SIOCGI2CPB and IPSECGREQID

It turns out interface ioctls are defined not just in sockio.h, but are
spread among many files.  When I added SIOCGI2CPB at the bottom of the
file, the next number (160) collided with an ioctl (IPSECGREQID) that
I was unaware of in another file.  Fix this by moving to a number that
is unclaimed.

Fixes: cf1f21572897 (net: Add SIOCGI2CPB ioctl & add page/bank fields to ifi2creq)
Reported by: dhw
Reviewed by: imp
DeltaFile
+1-1sys/sys/sockio.h
+1-11 files

LLVM/project 2f0d485llvm/docs LangRef.rst, llvm/include/llvm/IR DataLayout.h

[DataLayout] Add null pointer value infrastructure

Add support for specifying the null pointer bit representation per address space
in DataLayout via new pointer spec flags:
- 'z': null pointer is all-zeros
- 'o': null pointer is all-ones

When neither flag is present, the address space inherits the default set by the
new 'N<null-value>' top-level specifier ('Nz' or 'No'). If that is also absent,
the null pointer value is unknown and LLVM will not fold based on it.

No target DataLayout strings are updated in this change. This is pure
infrastructure for a future ConstantPointerNull semantic change to support
targets with non-zero null pointers (e.g. AMDGPU).
DeltaFile
+153-1llvm/unittests/IR/DataLayoutTest.cpp
+64-6llvm/lib/IR/DataLayout.cpp
+30-1llvm/include/llvm/IR/DataLayout.h
+17-1llvm/docs/LangRef.rst
+264-94 files

LLVM/project 9805381libc/src/__support memory_size.h math_extras.h, libc/src/search lfind.cpp lsearch.cpp

[libc] Move mul_overflow to math_extras.h (#194033)

This way downstream llvm-libc users could use this as part of
math_extras.h.
DeltaFile
+3-14libc/src/__support/memory_size.h
+15-0libc/src/__support/math_extras.h
+2-2libc/src/search/lfind.cpp
+2-2libc/src/search/lsearch.cpp
+22-184 files

LLVM/project 15fb099llvm/test/CodeGen/AArch64/Atomics aarch64-atomicrmw-v8a.ll aarch64-atomicrmw-lse2.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-fp-setcc.ll fixed-vectors-setcc-fp-vp.ll

Merge branch 'main' into users/efric/smfmac-gfx950-sparse-idx
DeltaFile
+326-4,626llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
+565-2,727llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
+1,151-2,033llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lse2.ll
+1,250-1,305llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-rcpc.ll
+5,792-13,3011,781 files not shown
+67,079-44,5341,787 files

Linux/linux cb4eb67drivers/iio/adc qcom-spmi-adc5-gen3.c ad4030.c, drivers/iio/amplifiers ad8366.c

Merge tag 'char-misc-7.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char / misc / IIO / and others driver updates from Greg KH:
 "Here is the char/misc/iio and other smaller driver subsystem updates
  for 7.1-rc1. Lots of stuff in here, all tiny, but relevant for the
  different drivers they touch. Major points in here is:

   - the usual large set of new IIO drivers and updates for that
     subsystem (the large majority of this diffstat)

   - lots of comedi driver updates and bugfixes

   - coresight driver updates

   - interconnect driver updates and additions

   - mei driver updates

   - binder (both rust and C versions) updates and fixes

    [28 lines not shown]
DeltaFile
+1,221-392drivers/interconnect/qcom/msm8974.c
+1,585-0drivers/interconnect/qcom/eliza.c
+860-0drivers/iio/adc/qcom-spmi-adc5-gen3.c
+756-0drivers/iio/proximity/vl53l1x-i2c.c
+596-22drivers/iio/adc/ad4030.c
+231-178drivers/iio/amplifiers/ad8366.c
+5,249-592350 files not shown
+12,763-4,261356 files

LLVM/project 85fe65emlir/include/mlir/Dialect/AMDGPU/IR AMDGPUOps.td, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

correct gfx950 8bit variants as well

Signed-off-by: Eric Feng <Eric.Feng at amd.com>
DeltaFile
+17-12mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
+11-11mlir/test/Conversion/AMDGPUToROCDL/sparse-mfma-gfx950.mlir
+12-4mlir/test/Dialect/AMDGPU/invalid.mlir
+8-4mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+4-3mlir/test/Dialect/AMDGPU/ops.mlir
+5-2mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+57-366 files

LLVM/project 6fb3436llvm/include/llvm/BinaryFormat Dwarf.h, llvm/include/llvm/DWARFLinker AddressesMap.h

[dsymutil] Handle DW_OP_GNU_push_tls_address in markEverythingAsKept (#193870)

markEverythingAsKept() only checked for DW_OP_form_tls_address when
deciding whether a TLS variable should be added to accelerator tables,
missing the DW_OP_GNU_push_tls_address extension. This caused TLS
variables using the GNU form to be absent from .apple_names when linking
in update mode (-u) or when processing Clang modules.

The same bug was previously fixed in getVariableRelocAdjustment()
(f9f92f13f62a) but was missed here.

rdar://120678908
DeltaFile
+18-0llvm/test/tools/dsymutil/X86/tls-variable.test
+2-7llvm/include/llvm/DWARFLinker/AddressesMap.h
+2-6llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
+4-0llvm/include/llvm/BinaryFormat/Dwarf.h
+1-1llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
+27-145 files

LLVM/project f098aa3lldb/docs/resources lldbgdbremote.md, lldb/source/Plugins/DynamicLoader/MacOSX-DYLD DynamicLoaderMacOS.cpp

[lldb][Darwin] debugserver expedite new binary info, lldb use (#192754)

When lldb stops at the "new binaries loaded" internal breakpoint, it
must read the list of addresses of the new binaries out of process
memory, then send a jGetLoadedDynamicLibrariesInfos packet to
debugserver to get the filepath, uuid, and addresses of where all the
segments are loaded in memory.

It's possible for debugserver to find the "new binaries loaded" function
address in the inferior itself, recognize when it has stopped at a
breakpoint there, and expedite some/all of the information lldb is going
to ask for in the stop info packet that we send to lldb. This will make
big improvements to a large-batch-of-binaries loaded stop event, but
also focuses even more on the single-binary-loaded `dlopen()` use case,
which can be quite expensive when many binaries are loaded one by one.

This PR reduces the packet traffic for a new binary load notifications
by


    [72 lines not shown]
DeltaFile
+178-0lldb/tools/debugserver/source/DNB.cpp
+66-26lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
+68-9lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+55-2lldb/tools/debugserver/source/RNBRemote.cpp
+14-37lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
+45-6lldb/docs/resources/lldbgdbremote.md
+426-808 files not shown
+506-8214 files

FreeNAS/freenas e651184tests/api2 test_service_announcement.py

Fix
DeltaFile
+26-3tests/api2/test_service_announcement.py
+26-31 files