LLVM/project 53a3d6a — lldb/include/lldb/API SBStream.h, lldb/source/API SBCommandInterpreter.cpp SBTypeSummary.cpp

[lldb] Avoid interning SBStream contents into the ConstString Pool (#227338)

SBStream::GetData() builds a ConstString from the stream's contents
before returning a const char*. ConstString's backing StringPool is
global and never frees entries, so every call permanently adds a copy of
the stream's contents to the pool for the lifetime of the debugger.

lldb-dap's telemetry dispatcher uses `SetFromJSON` to send the telemetry
to the debugger. This keeps growing the pool with data that will never
be used again. From https://github.com/llvm/llvm-project/pull/225785

Add a private SBStream::GetString(), returning the underlying
StreamString's contents as an llvm::StringRef without touching the
ConstString pool.
DeltaFile
+11-0lldb/source/API/SBStream.cpp
+2-2lldb/source/API/SBStructuredData.cpp
+2-1lldb/source/API/SBTypeSummary.cpp
+3-0lldb/include/lldb/API/SBStream.h
+1-1lldb/source/API/SBCommandInterpreter.cpp
+19-45 files

LLVM/project 461d570 — libc/test/src/stdio fdopen_test.cpp

[libc][NFC] fix fdopen_test comparisons (#232104)

When possible it's better to use ASSERT_EQ/NE instead of ASSERT_TRUE.
fdopen_test was using ASSERT_TRUE for some FILE* variables. This PR
moves them to ASSERT_RQ/NE.
DeltaFile
+5-5libc/test/src/stdio/fdopen_test.cpp
+5-51 files

LLVM/project 8171d29 — compiler-rt/lib/tsan/rtl tsan_interceptors_posix.cpp, compiler-rt/test/tsan signal_sigctx_clear_shadow.cpp

[tsan] Clear ThreadSignalContext shadow memory on thread exit (#230708)

[tsan] Clear ThreadSignalContext shadow memory on thread exit

`SigCtx(ThreadState *thr)` allocates a per-thread `ThreadSignalContext`
(`sctx`) via internal `MmapOrDie(sizeof(*sctx))`. When a signal is
delivered to a user `sa_sigaction` handler, `CallUserSignalHandler`
passes `&sctx->pending_signals[sig].siginfo` and
`&sctx->pending_signals[sig].ctx` directly to the user handler. Any
instrumented reads or writes to the `siginfo_t` or `ucontext_t`
arguments populate TSan shadow memory for the `sctx` mapping.

Previously, `PlatformCleanUpThreadState` unmapped `sctx` via raw
`UnmapOrDie(sctx, sizeof(*sctx))` upon thread exit without clearing its
shadow memory, leaving stale shadow entries behind when the virtual
pages were reused or shared a shadow page with an adjacent mapping.

Call `DontNeedShadowFor((uptr)sctx, RoundUpTo(sizeof(*sctx),
GetPageSizeCached()))`

    [5 lines not shown]
DeltaFile
+93-0compiler-rt/test/tsan/signal_sigctx_clear_shadow.cpp
+2-0compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
+95-02 files

LLVM/project 8c257d0 — llvm/test/CodeGen/AMDGPU extract_vector_dynelt.ll, llvm/test/CodeGen/NVPTX i32x2-instructions.ll f32x2-instructions.ll

DAG: Don't export arguments for FastISel if it won't be used

LowerArguments decided whether to export arguments to virtual
registers based on TM.Options.EnableFastISel. That option is set at
-O0 even for targets that have no FastISel implementation. This is
unnecessary without fast isel, so stop doing that.

The unneeded CopyToReg was an extra use of every argument, which
blocked some combines. The dead copies also survived to register
allocation. These copies were an edge case that regallocfast would
introduce dead flags on.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+725-1,475llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
+704-890llvm/test/CodeGen/NVPTX/reduction-intrinsics.ll
+522-621llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
+309-438llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
+303-418llvm/test/CodeGen/NVPTX/i32x2-instructions.ll
+336-352llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
+2,899-4,19436 files not shown
+3,965-5,74042 files

LLVM/project f0e8b47 — llvm/include/llvm/Support AMDGPUAddrSpace.h

[AMDGPU] Reserve addrspace 20 for downstream use (#232107)
DeltaFile
+2-0llvm/include/llvm/Support/AMDGPUAddrSpace.h
+2-01 files

LLVM/project 7e979a2 — llvm/test/Transforms/LoopFlatten widen-iv.ll widen-iv4.ll

[LoopFlatten] Move a test to separate file (NFC) (#232234)
DeltaFile
+76-0llvm/test/Transforms/LoopFlatten/widen-iv4.ll
+0-62llvm/test/Transforms/LoopFlatten/widen-iv.ll
+76-622 files

LLVM/project 0272d29 — mlir/examples/standalone pyproject.toml, mlir/python requirements.txt

[MLIR][Python] Pin ml_dtypes with == for Python 3.15
DeltaFile
+1-1mlir/python/requirements.txt
+1-1mlir/examples/standalone/pyproject.toml
+2-22 files

LLVM/project 9dc80b9 — libc/src/__support/math CMakeLists.txt expf.h, libc/test/src/math expf_test.cpp

[libc][math] Add correctly rounded, float-only implementation of expf for GPUs (#231671)

This patch adds a GPU-oriented implementation of `expf`, correctly
rounded for all inputs in round-to-nearest, ties-to-even mode. It uses
float-only intermediate arithmetic and Horner evaluation, without lookup
tables, a Ziv test, or separate fast and accurate paths.

It requires single-precision FMA.

### Performance on NVIDIA GeForce RTX 5070 (Cycles/Call)

Results were collected using a locally adapted `expf` benchmark based on
the GPU benchmark infrastructure in `libc/benchmarks/gpu`.

Tables report median cycles/call across five per-run means, with a
per-thread batch size of `N = 128`. Lower is better; the lowest value in
each row is bold. `Relative` compares FloatEvalCrRn (this PR) with the
fastest alternative in each row: “faster” means fewer cycles/call;
“slower” means more.

    [75 lines not shown]
DeltaFile
+149-0libc/src/__support/math/expf_float_utils.h
+71-1libc/src/__support/math/expf_float_eval.h
+18-7libc/src/__support/math/expf.h
+21-0libc/test/src/math/exhaustive/expf_test.cpp
+14-0libc/src/__support/math/CMakeLists.txt
+5-0libc/test/src/math/expf_test.cpp
+278-84 files not shown
+284-1110 files

LLVM/project 9e1c661 — mlir/examples/standalone pyproject.toml, mlir/python requirements.txt

[MLIR][Python] Only raise numpy/ml_dtypes minimums for Python 3.15

Use python_version markers instead of raising the numpy cap for everyone:
Python < 3.15 keeps numpy <= 2.1.2, and 3.15 gets numpy 2.5.x and
ml_dtypes 0.6.0 (the first releases with cp315 wheels).
DeltaFile
+4-2mlir/python/requirements.txt
+4-2mlir/examples/standalone/pyproject.toml
+8-42 files

LLVM/project 26b7038 — mlir/cmake/modules MLIRDetectPythonEnv.cmake, mlir/examples/standalone pyproject.toml

[MLIR][Python] Only require nanobind 2.13 for Python 3.15

Keep the nanobind minimum at 2.9 for Python < 3.15 instead of raising it
for everyone; only 3.15 needs 2.13 (for PyFrozenDict_Type in
darwin-ld-cpython.sym on macOS).
DeltaFile
+9-1mlir/cmake/modules/MLIRDetectPythonEnv.cmake
+2-1mlir/python/requirements.txt
+2-1mlir/examples/standalone/pyproject.toml
+13-33 files

LLVM/project 1cd4ad2 — llvm/lib/Target/DirectX DXILSignatureAnalysis.cpp, llvm/test/Analysis/CostModel/LoongArch arith-int.ll

Merge branch 'main' into users/kparzysz/fix-linear-clause
DeltaFile
+614-614llvm/test/CodeGen/Mips/llvm-ir/load.ll
+1,161-0llvm/test/Analysis/CostModel/LoongArch/arith-int.ll
+1,045-0llvm/test/Analysis/ScalarEvolution/exit-value-use-flags-folds.ll
+410-410llvm/test/CodeGen/Mips/longbranch/branch-limits-msa.mir
+657-0llvm/test/Transforms/LoopVectorize/WebAssembly/blake2.ll
+650-0llvm/lib/Target/DirectX/DXILSignatureAnalysis.cpp
+4,537-1,024749 files not shown
+26,288-26,882755 files

LLVM/project 573bc54 — llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp

[msan] Add type assertion to setShadow (#231625)

This can catch mistakes such as
https://github.com/llvm/llvm-project/pull/229649#discussion_r4262178328
DeltaFile
+9-0llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+9-01 files

NetBSD/pkgsrc-wip 7f89421 — InsightToolkit distinfo DESCR, InsightToolkit/patches patch-Modules_Core_Common_include_itkMemoryUsageObserver.h

InsightToolkit: start a package

with manual workaround in hdf5's cmake file, this builds - needs
proper fixing

more dependencies to be added, see TODO
DeltaFile
+4,644-0InsightToolkit/PLIST
+61-0InsightToolkit/TODO
+29-0InsightToolkit/Makefile
+23-0InsightToolkit/DESCR
+15-0InsightToolkit/patches/patch-Modules_Core_Common_include_itkMemoryUsageObserver.h
+6-0InsightToolkit/distinfo
+4,778-01 files not shown
+4,781-07 files

FreeNAS/freenas cdcccaa — src/middlewared/middlewared/plugins/pool_ snapshot.py, src/middlewared/middlewared/plugins/zfs snapshot.py snapshot_hold_release_impl.py

Tighten snapshot rename and create events and refuse update with a validation error

## Problem
A recursive snapshot rename announced descendants by looking for the new name after the rename, so a child that already had the new name but never had the old one got a bogus REMOVED and a duplicate ADDED. A recursive `pool.snapshot.create` that excluded its own dataset sent `pool.snapshot.query` ADDED for a snapshot that was never created. `pool.snapshot.update` failed with a CallError although it is the requested change that cannot be honoured.

## Solution
Snapshot rename now announces only the named snapshot, matching how `zfs.resource.rename` announces only the named dataset, and the event description says descendants' snapshots emit nothing. `pool.snapshot.create` only sends ADDED when the snapshot actually exists. `pool.snapshot.update` raises a ValidationError, still with EOPNOTSUPP.
DeltaFile
+3-14src/middlewared/middlewared/plugins/zfs/snapshot_ops.py
+7-5src/middlewared/middlewared/plugins/pool_/snapshot.py
+4-4src/middlewared/middlewared/plugins/zfs/snapshot_hold_release_impl.py
+2-2src/middlewared/middlewared/plugins/zfs/snapshot.py
+16-254 files

FreeNAS/freenas a33b016 — src/middlewared/middlewared/api/v28_0_0 zfs_resource_snapshot.py, src/middlewared/middlewared/plugins/pool_ snapshot.py

Standardize zfs.resource.snapshot on the zfs.resource design

## Problem
`zfs.resource.snapshot` only partly followed the design `zfs.resource` settled on. It still exposed `query` instead of `list`, raised on missing paths, emitted no events, took clone properties as an untyped dict passed straight to libzfs (so user properties failed and internal-only properties like `mountpoint` were reachable through clone), had no `force` acknowledgement on rename, keyed most validation errors on the bare method name, and had several wrong descriptions. Separately, the ZFS history hook ran the whole dataset-delete path for every snapshot destroy, sending bogus `pool.dataset.query` REMOVED events and, on HA, syncing encryption keys to the standby once per destroyed snapshot. `pool.snapshot.update` silently did nothing.

## Solution
- **list**: added `zfs.resource.snapshot.list`; `query` stays as a hidden alias for pre-v28 clients and `query_impl` is now `list_impl`. list, query and count skip a named path that does not exist; a path vanishing mid-walk still raises. `holds` is hidden from v28 in favour of `list` with `get_holds`. `pool.dataset.snapshot_count` keeps its existing errors.
- **events**: new `zfs.resource.snapshot.list` collection (SNAPSHOT_READ). ADDED for every snapshot created or renamed through the API, CHANGED with the holds after hold/release, REMOVED for the old name on rename. Destroys are reported from the ZFS history hook, which now handles snapshot names first and returns, so CLI, retention, rollback and recursive destroys are all covered and the dataset-delete path no longer runs for snapshots. `pool.snapshot.query` REMOVED moves to the hook as well and no longer carries `extra.recursive`. Clone sends `zfs.resource.list` ADDED for the new dataset.
- **clone**: properties are typed with the set vocabulary less `volsize`, plus a separate `user_properties` that is passed through to libzfs. The stateless create/set rules apply (type validity, user property names/values, `special_small_blocks` and tiering, recordsize, dedup entitlement, acl defaults). `pool.snapshot.clone` keeps its flat `dataset_properties` shape but now rejects internal-only, unknown and wrongly typed properties.
- **rename**: zr snapshot rename requires `force` like dataset rename; v27 callers are adapted to `force=True` and `pool.snapshot.rename` behaves as before.
- **errors and docs**: validation errors are keyed on the offending field with an explicit errno, `pool.snapshot` re-keys them onto its own attributes, the mutating argument models are named `*ArgsData` as in `zfs.resource`, and the wrong descriptions, docstrings and audit text are fixed.
- **update**: `pool.snapshot.update` raises EOPNOTSUPP instead of returning nothing.

User properties on clone require a truenas_pylibzfs with `clone(user_properties=...)` support.
DeltaFile
+0-423tests/api2/test_zfs_resource_snapshot_query.py
+413-0tests/api2/test_zfs_resource_snapshot_list.py
+218-86src/middlewared/middlewared/plugins/zfs/snapshot_ops.py
+163-86src/middlewared/middlewared/plugins/zfs/snapshot.py
+159-41src/middlewared/middlewared/api/v28_0_0/zfs_resource_snapshot.py
+88-50src/middlewared/middlewared/plugins/pool_/snapshot.py
+1,041-68641 files not shown
+1,367-88747 files

OpenBSD/src PeYLMhP — lib/libc/gen readpassphrase.c

   Don't print newline after reading password if interrupted by signal.
   Avoids an extra newline when the user presses ^C or ^\ at the
   password prompt.  OK deraadt@
VersionDeltaFile
1.32+2-2lib/libc/gen/readpassphrase.c
+2-21 files

LLVM/project 59e49ea — compiler-rt/lib/sanitizer_common sanitizer_common.h

rebase

Created using spr 2.0.0-beta.1
DeltaFile
+0-1compiler-rt/lib/sanitizer_common/sanitizer_common.h
+0-11 files

LLVM/project 58a6b38 — clang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGenCXX header-unit-inline-var-double-emission.cpp

[clang][CodeGen] Skip re-emission of already-defined globals in EmitDeferred

When a deferred decl was already emitted and its existing definition has a different LLVM type than the requested one (e.g. an inline variable whose initializer folded to an anonymous union type), EmitDeferred called GetAddrOfGlobal with ForDefinition, which replaced and erased the existing definition. Erasing the defined global dangles pointers held by callers, e.g. the AssociatedData of entries in llvm.global_ctors, leading to a use-after-free during EmitCtorList.

Check for an existing definition of the same entity before requesting a correctly typed value, and skip the re-emission. This keeps GetOrCreateLLVMGlobal's invariant that a ForDefinition request returns a global of exactly the requested type.

Add the OpenMP non-modules reproducer as a regression test alongside the header-unit test, and assert single emission via the position of the guard variable in both.

Co-authored-by: Michael Park <mcypark at gmail.com>
DeltaFile
+36-0clang/test/CodeGenCXX/header-unit-inline-var-double-emission.cpp
+20-9clang/lib/CodeGen/CodeGenModule.cpp
+29-0clang/test/OpenMP/inline-var-declare-target-double-emission.cpp
+85-93 files

LLVM/project c645cc8 — compiler-rt/lib/sanitizer_common sanitizer_common.h

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

Created using spr 2.0.0-beta.1

[skip ci]
DeltaFile
+1-0compiler-rt/lib/sanitizer_common/sanitizer_common.h
+1-01 files

LLVM/project 62c3196 — compiler-rt/lib/sanitizer_common sanitizer_internal_defs.h

[𝘀𝗽𝗿] initial version

Created using spr 2.0.0-beta.1
DeltaFile
+1-0compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
+1-01 files

LLVM/project df19361 — compiler-rt/lib/sanitizer_common sanitizer_common.h

[𝘀𝗽𝗿] initial version

Created using spr 2.0.0-beta.1
DeltaFile
+1-0compiler-rt/lib/sanitizer_common/sanitizer_common.h
+1-01 files

LLVM/project f06c1e7 — mlir/include/mlir/Dialect/SCF/IR SCF.h, mlir/lib/Dialect/SCF/IR SCF.cpp

[mlir][scf] Preserve forall shared output order in promote (#222144)

Build promoted results in shared output order instead of the textual
order of `scf.forall.in_parallel` operations.

This preserves the correct result mapping when the orders differ.

Fixes #222143
Assisted-by: Codex
DeltaFile
+55-26mlir/lib/Dialect/SCF/IR/SCF.cpp
+36-1mlir/test/Dialect/SCF/canonicalize.mlir
+3-1mlir/include/mlir/Dialect/SCF/IR/SCF.h
+94-283 files

LLVM/project 09070d9 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP teams.c teams-llvm.c

[CIR][OpenMP] Add support for omp teams

This patch adds support for the OpenMP 'teams' directive, both standalone
and as the combined `target teams` construct. isCombinableLeaf now also
recognizes teams, so an explicitly-nested `target` + `teams` pair gets
the same omp.combined marking as the combined case.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+100-5clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+91-0clang/test/CIR/CodeGenOpenMP/target-teams-llvm-host.c
+86-0clang/test/CIR/CodeGenOpenMP/target-teams-llvm-device.c
+69-0clang/test/CIR/CodeGenOpenMP/target-teams.c
+65-0clang/test/CIR/CodeGenOpenMP/teams-llvm.c
+39-0clang/test/CIR/CodeGenOpenMP/teams.c
+450-51 files not shown
+463-87 files

LLVM/project b48a24c — llvm/lib/CodeGen/GlobalISel Localizer.cpp, llvm/test/CodeGen/AArch64/GlobalISel localizer-debug-uses.mir

[GlobalISel] Ignore debug uses in Localizer decisions (#231703)

Currently debug uses can affect Localizer decisions because they are
treated like all other uses.

Fix this by ignoring debug uses when deciding what to localize and where
to put it. When sinking a definition past a DBG_VALUE that uses it, move
the DBG_VALUE down to right after the definition, so that it stays with
it. If a later DBG_VALUE of the same variable replaces it first, make it
undef instead.

Assisted-by: Claude
DeltaFile
+82-0llvm/test/CodeGen/AArch64/GlobalISel/localizer-debug-uses.mir
+34-5llvm/lib/CodeGen/GlobalISel/Localizer.cpp
+116-52 files

LLVM/project 4a67f07 — mlir/include/mlir/Dialect/Vector/TransformOps VectorTransformOps.td, mlir/lib/Dialect/Vector/TransformOps VectorTransformOps.cpp

[mlir][Vector] Add a dedicated Transform Dialect op for `UnrollContractPattern` (#230543)

Adds a dedicated Transform Dialect op to run `UnrollContractPattern`.
The new op is currently restricted to matmul-like `vector.contract` ops
and has limitations similar to those of:

  `transform.apply_patterns.gpu.unroll_vectors_subgroup_mma`

We could consider merging the two ops in the future.

While the new `transform.apply_patterns.vector.unroll_contract` op is
quite constrained, it suffices for my use case, so I have refrained from
generalising it. It takes three unroll sizes, corresponding to the M, N,
and K dimensions in GEMM/matmul terminology.

There are also a couple of minor NFC changes. For example,

  vector-multi-reduction-unrolling.mlir


    [7 lines not shown]
DeltaFile
+0-132mlir/test/Dialect/Vector/vector-multi-reduction-unrolling.mlir
+132-0mlir/test/Dialect/Vector/vector-multi-reduction-unroll.mlir
+48-0mlir/test/Dialect/Vector/vector-contract-unroll.mlir
+35-0mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
+22-0mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
+13-0mlir/test/Dialect/Vector/td/unroll-contract.mlir
+250-1322 files not shown
+263-1328 files

LLVM/project e5b333e — llvm/test/CodeGen/Mips/GlobalISel/instruction-select fcmp.mir, llvm/test/CodeGen/Mips/GlobalISel/legalizer bitwise.mir

[Mips] Rename GPR register records to R<n> (#230696)

Rename the Mips GPR TableGen records from their O32 role names (V0, T0,
SP, ...) to ABI-independent R0-R31, as suggested by the TODO in #224284.
Assembly syntax is unchanged; MIR uses the new names ($r2, $r29, ...).
The new register enum order changes some register allocation and
delay slot choices in tests.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Co-authored-by: Vince Del Vecchio <vince.delvecchio at mediatek.com>
Co-authored-by: Anton Rapetov <anton.rapetov at mediatek.com>
DeltaFile
+614-614llvm/test/CodeGen/Mips/llvm-ir/load.ll
+410-410llvm/test/CodeGen/Mips/longbranch/branch-limits-msa.mir
+324-324llvm/test/CodeGen/Mips/longbranch/branch-limits-int-mips64r6.mir
+312-312llvm/test/CodeGen/Mips/GlobalISel/instruction-select/fcmp.mir
+308-308llvm/test/CodeGen/Mips/llvm-ir/store.ll
+299-299llvm/test/CodeGen/Mips/GlobalISel/legalizer/bitwise.mir
+2,267-2,267329 files not shown
+13,107-12,890335 files

LLVM/project df9cb6f — llvm/lib/CodeGen/GlobalISel Utils.cpp, llvm/test/CodeGen/AArch64/GlobalISel legalizer-erased-def-debug-use.mir

[GlobalISel] Undef debug uses of erased instructions (#231716)

GlobalISel erases an instruction it calls salvageDebugInfo to rewrite
its debug users. Unsalvageable uses remain and refer to the erased
instruction's output register.

Targets whose instruction selector does not constrain debug operands
then carry a DBG_VALUE of a generic vreg past selection. On RISC-V, a
DBG_VALUE of a getelementptr that gets folded into a load's addressing
mode trips an assertion in the fast register allocator at -O0 and fails
the machine verifier at -O2.

This patch explicitly makes unsalvageable debug values undef instead.

Assisted-by: Claude
DeltaFile
+58-0llvm/test/CodeGen/AArch64/GlobalISel/legalizer-erased-def-debug-use.mir
+0-44llvm/test/DebugInfo/X86/debug-reg-bank.ll
+0-44llvm/test/DebugInfo/AArch64/debug-reg-bank.ll
+36-0llvm/test/DebugInfo/AArch64/debug-reg-bank.mir
+36-0llvm/test/DebugInfo/X86/debug-reg-bank.mir
+5-0llvm/lib/CodeGen/GlobalISel/Utils.cpp
+135-883 files not shown
+138-919 files

LLVM/project a4d4595 — llvm/lib/TargetParser TargetDataLayout.cpp

TargetParser: Clean up data layout string construction

Instead of building many small string fragments, use longer
concatenated literals. The mips case in particular was hard
to follow and had an unused enum value.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+142-222llvm/lib/TargetParser/TargetDataLayout.cpp
+142-2221 files

LLVM/project f7d150a — flang/lib/Semantics check-omp-structure.cpp, flang/test/Lower/OpenMP/Todo depend-clause-depobj.f90

[flang][OpenMP][#225225] Add diagnosis on invalid list items in depend(depobj:) clauses (#227790)

Summary
Add diagnosis on invalid list items in depend(depobj:) clauses to
enforces the OpenMP 5.0 §2.17.11 restrictions on the depend clause with
the depobj dependence type in the semantic checker, so invalid programs
get a clear diagnostic instead of falling through to the not yet
implemented: DEPOBJ dependence-type lowering TODO.

Per the spec, with the depobj dependence type:
• Array sections cannot be specified in depend clauses with the depobj
dependence type.
• List items used in depend clauses with the depobj dependence type must
be depend objects in the initialized state.

Also adds a semantics test and updates the existing Todo lowering test
to use a valid depend object. Lowering remains unimplemented; this is
front-end checks only.


    [2 lines not shown]
DeltaFile
+43-5flang/lib/Semantics/check-omp-structure.cpp
+35-0flang/test/Semantics/OpenMP/depend-depobj.f90
+2-1flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
+80-63 files

LLVM/project 18d3af5 — llvm/lib/Transforms/Vectorize VPlanUtils.h VPlanUtils.cpp

[VPlan] Factor out pointer add expansion in VPSCEVExpander (NFC). (#232391)

Move expansion of pointer-typed SCEVs as ptradd of pointer base and
offset to a separate helper, so it can be re-used for AddRecs.
DeltaFile
+11-8llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+4-0llvm/lib/Transforms/Vectorize/VPlanUtils.h
+15-82 files