LLVM/project 3e24a39llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/AArch64 udiv-const-optimization.ll sve-streaming-mode-fixed-length-int-div.ll

[SelectionDAG] Optimize 32-bit udiv with 33-bit magic constants on 64-bit targets (#181288)

This PR optimizes 32-bit unsigned division by constants when the magic
constant is 33 bits (IsAdd=true case in UnsignedDivisionByConstantInfo)
on 64-bit targets.

## Overview

Compiler optimization for constant division of `uint32_t` variables
(such as `x / 7`) is based on the method
proposed by Granlund and Montgomery in 1994 (hereafter referred to as
the GM method).
However, the GM method for the IsAdd=true case was optimized for 32-bit
CPUs, not 64-bit CPUs.

This patch provides optimizations specifically for 64-bit CPUs (such as
x86_64 and Apple M-series).
A simple benchmark demonstrates over 60% speedup on both Intel Xeon and
Apple M4 processors.

    [66 lines not shown]
DeltaFile
+141-0llvm/test/CodeGen/X86/udiv-const-optimization.ll
+66-0llvm/test/CodeGen/RISCV/udiv-const-optimization.ll
+61-0llvm/test/CodeGen/AArch64/udiv-const-optimization.ll
+14-45llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-div.ll
+28-19llvm/test/CodeGen/AArch64/urem-lkk.ll
+35-2llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+345-667 files not shown
+421-14813 files

LLVM/project 8681470clang/include/clang/DependencyScanning DependencyScanningWorker.h DependencyScannerImpl.h, clang/include/clang/Tooling DependencyScanningTool.h

[clang][Dependency Scanning] Fix the In-Memory Buffer Used for By-Name Scanning (#183396)

This PR fixes two issues of the in-memory buffer we use for the input
file when a dependency scanner performs by-name queries.

First, it renames the buffer. The temporary file was named
`ScanningByName-%%%%%%%%.input`, which leads to weird diagnostics such
as
```
ScanningByName-2d42a1e9.input:1:1: fatal error: could not build module 'X'
```

This PR changes the name of the file buffer, so we get diagnostics such
as
```
module-include.input:1:1: fatal error: could not build module 'X'
```
which is more indicative. 


    [10 lines not shown]
DeltaFile
+64-2clang/lib/Tooling/DependencyScanningTool.cpp
+0-55clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+0-14clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+10-0clang/include/clang/Tooling/DependencyScanningTool.h
+3-3clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
+0-1clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+77-756 files

FreeBSD/ports a3f2aa7devel/stdman pkg-plist distinfo

devel/stdman: Update to 2024.07.05
DeltaFile
+914-34devel/stdman/pkg-plist
+3-3devel/stdman/distinfo
+1-1devel/stdman/Makefile
+918-383 files

LLVM/project 81a537elldb/include/lldb/Core PluginManager.h, lldb/source/Core PluginManager.cpp

[lldb] Use range-based for loops over plugins (#184837)

This PR replaces the Get*CallbackAtIndex pattern in the PluginManager
with returning a snapshot of callbacks that the caller can iterate over
using a range-based for loop. This is a continuation of #184452 which
added thread safety by using snapshots. However, that introduced a bunch
of unnecessary copies which are largely eliminated again by getting the
snapshot once when gather all the callbacks, rather than doing that on
each iteration when querying a plugin for a given index. It also
eliminates the possibility of the snapshot changing underneath you when
iterating over the plugins.

This change was largely mechanical and I used Claude to do the menial
work of updating the signatures and call sites.
DeltaFile
+125-163lldb/source/Core/PluginManager.cpp
+87-87lldb/unittests/Core/PluginManagerTest.cpp
+79-78lldb/include/lldb/Core/PluginManager.h
+16-38lldb/source/Symbol/ObjectFile.cpp
+8-27lldb/source/Target/LanguageRuntime.cpp
+6-22lldb/source/Target/Platform.cpp
+321-41520 files not shown
+368-55126 files

LLVM/project 64b029bclang-tools-extra/clang-doc Serialize.cpp Serialize.h, clang-tools-extra/clang-doc/benchmarks ClangDocBenchmark.cpp

[clang-doc] Introduce Serializer class

Serialization has mostly been done with static functions, but soon we
will need to share state, like alocator references. To avoid blowing up
our parameter lists, we can just wrap the local functions within a
class.
DeltaFile
+106-110clang-tools-extra/clang-doc/Serialize.cpp
+141-39clang-tools-extra/clang-doc/Serialize.h
+2-1clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
+2-1clang-tools-extra/clang-doc/Mapper.cpp
+2-1clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
+253-1525 files

LLVM/project 5c7e42bclang-tools-extra/unittests/clang-doc BitcodeTest.cpp

clang-format
DeltaFile
+9-16clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+9-161 files

LLVM/project f439695clang-tools-extra/clang-doc JSONGenerator.cpp

clang-format
DeltaFile
+1-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+1-21 files

LLVM/project efca6beclang-tools-extra/clang-doc Representation.h

[clang-doc][NFC] Introduce Vector and Array abstractions

Introduce OwningVec and OwningArray aliases for vector types we want to
eventually update for arena allocations.
DeltaFile
+24-16clang-tools-extra/clang-doc/Representation.h
+24-161 files

LLVM/project 00571fbclang-tools-extra/clang-doc Serialize.cpp Representation.h, clang-tools-extra/clang-doc/benchmarks ClangDocBenchmark.cpp

[clang-doc] Introduce abstractions for pointer operations

Since we're migrating from std::unique_ptr to raw pointers via
arena allocation, we want to have some interfaces that abstract
these operations away, and can be changed to keep the system working
without introducing a lot of unnecessary chrun in the code.
DeltaFile
+12-12clang-tools-extra/clang-doc/Serialize.cpp
+11-0clang-tools-extra/clang-doc/Representation.h
+4-4clang-tools-extra/clang-doc/BitcodeReader.cpp
+4-4clang-tools-extra/clang-doc/benchmarks/ClangDocBenchmark.cpp
+3-3clang-tools-extra/clang-doc/Representation.cpp
+3-3clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
+37-263 files not shown
+40-299 files

LLVM/project 56ebb98clang-tools-extra/clang-doc Serialize.cpp Serialize.h

[clang-doc][NFC] Introduce OwnedPtr abstraction

Eventually, we want clang-doc to support arena allocation, but the
widespread use of owning pointers in the data types prevents this.
Rather than have wide scale refactoring, we can introduce a type alias
that can be swapped out atomically to switch from smart pointers to raw
pointers. This is the first of several refactorings that are intended to
make the transition simpler.
DeltaFile
+39-30clang-tools-extra/clang-doc/Serialize.cpp
+38-29clang-tools-extra/clang-doc/Serialize.h
+28-2clang-tools-extra/clang-doc/JSONGenerator.cpp
+6-7clang-tools-extra/clang-doc/BitcodeReader.cpp
+7-3clang-tools-extra/clang-doc/Representation.h
+4-5clang-tools-extra/clang-doc/Representation.cpp
+122-7610 files not shown
+144-9916 files

LLVM/project f6b0a94clang-tools-extra/clang-doc Representation.h BitcodeReader.cpp, clang-tools-extra/unittests/clang-doc BitcodeTest.cpp MergeTest.cpp

[clang-doc] Introduce type alias for OwningPtrVec/Array

We commonly have vectors/arrays of owned pointers. This should simplify
future refactoring when switching to arena allocation.
DeltaFile
+8-8clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
+10-2clang-tools-extra/clang-doc/Representation.h
+4-4clang-tools-extra/unittests/clang-doc/MergeTest.cpp
+2-3clang-tools-extra/clang-doc/BitcodeReader.cpp
+2-3clang-tools-extra/clang-doc/Representation.cpp
+1-1clang-tools-extra/clang-doc/BitcodeReader.h
+27-213 files not shown
+30-249 files

LLVM/project 9d11b09llvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/CodeGen/PowerPC clmul-vector.ll

reb

Created using spr 1.3.7
DeltaFile
+53,024-7,001llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+15,172-1,553llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+6,812-3,080llvm/test/CodeGen/AArch64/clmul-fixed.ll
+5,488-0llvm/test/CodeGen/X86/bit-manip-i512.ll
+2,338-2,209llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+84,395-16,6552,299 files not shown
+171,433-46,3802,305 files

LLVM/project d43b9bcllvm/test/CodeGen/AArch64 clmul-fixed.ll, llvm/test/CodeGen/PowerPC clmul-vector.ll

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+53,024-7,001llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+15,172-1,553llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+6,812-3,080llvm/test/CodeGen/AArch64/clmul-fixed.ll
+5,488-0llvm/test/CodeGen/X86/bit-manip-i512.ll
+2,338-2,209llvm/test/CodeGen/PowerPC/clmul-vector.ll
+1,561-2,812llvm/test/CodeGen/X86/wide-scalar-shift-by-byte-multiple-legalization.ll
+84,395-16,6552,299 files not shown
+171,433-46,3802,305 files

LLVM/project 610ed83llvm/lib/Transforms/Instrumentation HWAddressSanitizer.cpp, llvm/test/Instrumentation/HWAddressSanitizer use-after-scope.ll

[HWASan] add optimization remark for supported lifetimes

This lets us find functions where we pessimize codegen by removing
lifetimes.

Reviewers: vitalybuka

Reviewed By: vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/183858
DeltaFile
+26-1llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
+18-5llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+44-62 files

LLVM/project 4e438f7llvm/lib/Support JSON.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+0-3llvm/lib/Support/JSON.cpp
+0-31 files

OpenBSD/src uDx7qL6sys/dev/usb uplcom.c

   Add support for more line speeds.

   ok deraadt@
VersionDeltaFile
1.82+65-2sys/dev/usb/uplcom.c
+65-21 files

LLVM/project 01a9705libcxx/include __split_buffer, libcxx/include/__vector vector.h

Revert "[libcxx] adds `__split_buffer::__swap_layouts`" (#185120)

Reverts llvm/llvm-project#180102
DeltaFile
+16-3libcxx/include/__vector/vector.h
+0-17libcxx/include/__split_buffer
+16-202 files

LLVM/project cf21ea9llvm/lib/Target/ARM ARMBaseInstrInfo.cpp ARMISelLowering.cpp, llvm/lib/Target/ARM/AsmParser ARMAsmParser.cpp

[ARM] Fix more typos (NFC)

Fix more typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.

commit-id:33a1bb8d

Reviewers: davemgreen

Reviewed By: davemgreen

Pull Request: https://github.com/llvm/llvm-project/pull/183087
DeltaFile
+9-9llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+9-9llvm/lib/Target/ARM/ARMISelLowering.cpp
+6-6llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+5-5llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+5-5llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
+4-4llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
+38-3823 files not shown
+68-6829 files

LLVM/project 43f7838llvm/lib/Target/AArch64 MachineSMEABIPass.cpp AArch64StackTagging.cpp, llvm/lib/Target/AArch64/GISel AArch64InstructionSelector.cpp

[AArch64] Fix more typos (NFC)

Fix more typos in the AArch64 codebase using the
https://github.com/crate-ci/typos Rust package.

commit-id:9f4d826d

Reviewers: davemgreen

Pull Request: https://github.com/llvm/llvm-project/pull/183086
DeltaFile
+2-2llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
+1-1llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+1-1llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+1-1llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
+1-1llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+1-1llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+7-75 files not shown
+12-1211 files

NetBSD/pkgsrc-wip 822325dpy-datasci packages.mk, py-mbake Makefile

*: fix py-typer paths after import
DeltaFile
+1-1py-datasci/packages.mk
+1-1py-mbake/Makefile
+2-22 files

NetBSD/pkgsrc aNWsspwdoc TODO

   doc/TODO: + rust-1.94.0.
VersionDeltaFile
1.26897+2-1doc/TODO
+2-11 files

LLVM/project cc4f4b1libcxx/include __split_buffer, libcxx/include/__vector vector.h

Revert "[libcxx] Add `__split_buffer::__swap_layouts` (#180102)"

This reverts commit 65f39a16abf651008185839459fb330258800a62.
DeltaFile
+16-3libcxx/include/__vector/vector.h
+0-17libcxx/include/__split_buffer
+16-202 files

LLVM/project 1cdcee2clang/lib/CodeGen CGExprScalar.cpp, clang/test/CodeGenHLSL/BasicFeatures MatrixExplicitTruncation.hlsl MatrixImplicitTruncation.hlsl

[HLSL][Matrix] Make matrix truncation respect default matrix memory layout (#184280)

Fixes #183127 and #184371

This PR makes the matrix truncation cast implementation use the new
matrix flattened index helper functions introduced by #182904 so that it
reads elements from the source matrix using the default matrix memory
layout instead of always assuming column-major order.

This PR also fixes a bug where matrix truncation truncated the wrong
elements.

Assisted-by: claude-opus-4.6
DeltaFile
+24-12clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl
+22-11clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl
+11-10clang/lib/CodeGen/CGExprScalar.cpp
+57-333 files

LLVM/project 6dea289clang/lib/CIR/CodeGen CIRGenItaniumCXXABI.cpp, clang/test/CIR/CodeGen try-catch-tmp.cpp

[CIR] Implement reference type in init catch param (#184442)

Implement init support for reference type in the init catch param
DeltaFile
+115-0clang/test/CIR/CodeGen/try-catch-tmp.cpp
+17-1clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
+132-12 files

FreeNAS/freenas c92faa5src/middlewared/middlewared event.py

NAS-140179 / 27.0.0-BETA.1 / Introduce typed event source (#18396)

## Context

Introduce `TypedEventSource` which to the `run` body gives access to the
pydantic model itself which should be used so we can statically type
check properly arguments.
DeltaFile
+21-0src/middlewared/middlewared/event.py
+21-01 files

Illumos/gate 196cb0eusr/src/cmd/svc/configd configd.c

17900 svc/configd: format issue while printing pid_t
Reviewed by: Gordon Ross <Gordon.W.Ross at gmail.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
DeltaFile
+1-1usr/src/cmd/svc/configd/configd.c
+1-11 files

LLVM/project d259193clang/lib/CIR/CodeGen CIRGenExprScalar.cpp CIRGenExprComplex.cpp

[CIR] Fix operator-precedence bugs in assert conditions

Due to && binding tighter than ||, asserts of the form
assert(A || B && "msg") always pass when A is true. Add
parentheses so the string message is properly attached:
assert((A || B) && "msg").
DeltaFile
+8-7clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+4-5clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
+12-122 files

FreeNAS/freenas 9c501d3tests/api2 test_300_nfs.py

Add many small-ish tweaks to add resilience to idiosyncrasies in running the CI tests.
A good part of this is handling the 'websocket' disconnect.
DeltaFile
+166-35tests/api2/test_300_nfs.py
+166-351 files

LLVM/project d34f179llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.exp.ll llvm.amdgcn.exp.row.ll

AMDGPU/GlobalISel: RegBankLegalize rules for amdgcn_exp/exp_row (#181956)
DeltaFile
+57-10llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-exp.mir
+9-5llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.ll
+11-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+10-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+4-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.exp.row.ll
+93-176 files

FreeBSD/ports 27001d6mail/thunderbird distinfo Makefile

mail/thunderbird: update to 148.0.1 (rc1)

Release Notes:
  https://www.thunderbird.net/en-US/thunderbird/148.0.1/releasenotes/

(cherry picked from commit d454980ee94c47d12a2195f2dab12ced70e11526)
DeltaFile
+3-3mail/thunderbird/distinfo
+1-1mail/thunderbird/Makefile
+4-42 files