LLVM/project c28c92ellvm/test/tools/dsymutil/X86 bundle-mtime.test

Merge branch 'main' into users/aokblast/moneypunct_fbsd_test
DeltaFile
+4-4llvm/test/tools/dsymutil/X86/bundle-mtime.test
+4-41 files

LLVM/project 3f48c67llvm/test/tools/dsymutil/X86 bundle-mtime.test

[dsymutil] Use more portable way to compare timestamp (NFC) (#204680)

`find` on AIX does not support `-maxpath` option. This patch is
to use python to compare the `mtime` of the file/directory.
DeltaFile
+4-4llvm/test/tools/dsymutil/X86/bundle-mtime.test
+4-41 files

LLVM/project 1b691d1llvm/test/CodeGen/RISCV clmul.ll clmulr.ll, llvm/test/CodeGen/RISCV/rvv clmulh-sdnode.ll clmul-sdnode.ll

Merge branch 'main' into users/aokblast/moneypunct_fbsd_test
DeltaFile
+31,001-87,165llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+15,519-26,130llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+12,134-24,576llvm/test/CodeGen/RISCV/clmul.ll
+8,309-12,701llvm/test/CodeGen/RISCV/clmulr.ll
+7,962-12,501llvm/test/CodeGen/RISCV/clmulh.ll
+8,361-8,920llvm/test/CodeGen/RISCV/rvv/expandload.ll
+83,286-171,99311,422 files not shown
+907,925-618,59811,428 files

LLVM/project 361f3b2clang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

[LifetimeSafety] Model GNU statement expressions (#204841)
DeltaFile
+70-0clang/test/Sema/LifetimeSafety/safety.cpp
+15-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+1-0clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+86-03 files

LLVM/project dd1685dllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/RISCV rotated-strided-loads.ll

[SLP] Don't recognize rotated widened strided stores in analyzeRtStrideCandidate() (#204013)

These cases which are nearly strided stores are being incorrectly
recognized as strided stores. Fixes #204011
DeltaFile
+68-9llvm/test/Transforms/SLPVectorizer/RISCV/rotated-strided-loads.ll
+12-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+80-92 files

LLVM/project e035932utils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes 7591910 (#205377)

This fixes 759191045115d966dffc99901e9086289767ff5c.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+18-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+18-01 files

LLVM/project c70d01alldb/include/lldb/Core Module.h, lldb/source/Core Module.cpp

[lldb] Fix data race in Module::GetSectionList (#205226)

Module::GetSectionList built the section list (m_sections_up) without a
lock, so parallel module loading (e.g. crashlog.py's thread pool) could
race two builders on the unique_ptr and the SectionList vector, crashing
in AppleObjCRuntime::GetObjCVersion.

Build through ObjectFile::GetSectionList instead of locking the module
mutex and calling CreateSections directly: that path locks the object
file's section mutex before the module mutex, and the build can re-enter
it, so holding the module mutex across the build would invert the order
and risk a deadlock. The Module-level counterpart to a0176fd9dfc5.

rdar://180308581
DeltaFile
+93-0lldb/unittests/Core/ModuleTest.cpp
+5-3lldb/source/Core/Module.cpp
+3-0lldb/include/lldb/Core/Module.h
+101-33 files

LLVM/project 3954707clang/docs SanitizerSpecialCaseList.rst ReleaseNotes.rst, clang/unittests/Basic DiagnosticTest.cpp

Revert "Make sanitizer special case list slash-agnostic (#149886)"

This reverts commit 2916c779f63b6391669cd87421aca000e1418247.
DeltaFile
+0-35clang/unittests/Basic/DiagnosticTest.cpp
+6-25llvm/lib/Support/SpecialCaseList.cpp
+0-20llvm/unittests/Support/SpecialCaseListTest.cpp
+0-12clang/docs/SanitizerSpecialCaseList.rst
+0-5clang/docs/ReleaseNotes.rst
+6-975 files

LLVM/project 51eee20clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering indirect-byval.cir

[CIR] Lower byval/byref args in CallConvLowering

ArgKind::Indirect arguments were hitting an errorNYI in
CIRABIRewriteContext.  Add the lowering: in the callee the block argument
type changes to !cir.ptr<T>, a load is inserted at entry so the body sees
the original value type, and llvm.byval or llvm.byref is attached based on
ownership.  At call sites, both byval and byref are lowered by allocating a
stack slot, copying the value in, and passing the pointer.

For byval, llvm.noalias and llvm.noundef are also added -- llvm.noalias
because the call-site rewrite always produces a fresh alloca+store
(equivalent to -fpass-by-value-is-noalias), and llvm.noundef because the
copy is always fully defined.  byref carries only llvm.byref and llvm.align
since it does not assert exclusive ownership.
DeltaFile
+242-0clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
+147-66clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+389-662 files

LLVM/project 289e243flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

Revert "[flang][cuda] Do not emit data transfer for constant read on the rhs" (#205394)

Reverts llvm/llvm-project#205185

this is making couple of downstream tests failing. Another approach is
needed
DeltaFile
+0-27flang/include/flang/Evaluate/tools.h
+1-13flang/test/Lower/CUDA/cuda-data-transfer.cuf
+2-1flang/lib/Evaluate/tools.cpp
+3-413 files

LLVM/project 88eaad8clang/docs InternalsManual.rst, clang/lib/Frontend CompilerInvocation.cpp

[llvm][option] Remove bitfield marshalling (#203051)

Marshaling of bitfield options is adding some extra complexity in the
form of extractors and mergers, but is now unused. This PR removes that
feature.
DeltaFile
+10-36clang/lib/Frontend/CompilerInvocation.cpp
+4-8clang/docs/InternalsManual.rst
+0-12llvm/include/llvm/Option/OptParser.td
+0-9llvm/utils/TableGen/OptionParserEmitter.cpp
+1-2llvm/unittests/Option/OptionMarshallingTest.cpp
+15-675 files

LLVM/project 70792ballvm/unittests/Support GlobPatternTest.cpp

Revert "[NFC][Support] Add test for inverted slash-agnostic matching (#203290)"

This reverts commit 2a72cd87a5bb9db73708661e8760ff710460ae11.
DeltaFile
+0-14llvm/unittests/Support/GlobPatternTest.cpp
+0-141 files

LLVM/project 5d4296cclang/lib/CIR/CodeGen CIRGenFunction.h CIRGenBuiltin.cpp, clang/test/CIR/CodeGenBuiltins builtin-reduce-bitwise.c builtin-undef-rvalue.cpp

[CIR] Lower bitwise vector reduce builtins

`__builtin_reduce_or`, `__builtin_reduce_and`, and `__builtin_reduce_xor` were caught by the batch `errorBuiltinNYI` switch in CIRGen and rejected with an NYI diagnostic.  They now lower to the matching `llvm.vector.reduce.{or,and,xor}` intrinsics on the vector element type, mirroring classic CodeGen in `CGBuiltin.cpp`.

The emission routes through `emitBuiltinWithOneOverloadedType`, extended with an optional result type: a vector reduction returns the element type, and CIR has no intrinsic registry to derive it the way classic's `getIntrinsic(ID, argTy)` does, so the element type is supplied explicitly (the default keeps the existing callers unchanged).  The intrinsic name is passed without the `llvm.` prefix, which `LowerToLLVM` prepends, producing LLVM output byte-identical to OGCG.

The `builtin-undef-rvalue` regression test previously pinned `reduce_or` as NYI; it is retargeted to `reduce_add`, which is still NYI, so the undef-rvalue path stays covered.
DeltaFile
+49-0clang/test/CIR/CodeGenBuiltins/builtin-reduce-bitwise.c
+11-6clang/lib/CIR/CodeGen/CIRGenFunction.h
+13-0clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+5-5clang/test/CIR/CodeGenBuiltins/builtin-undef-rvalue.cpp
+78-114 files

LLVM/project 044f0a5llvm/test/TableGen directive2.td directive1.td, llvm/utils/TableGen/Basic DirectiveEmitter.cpp

[TableGen] Use llvm_unreachable in switch guard for all except gcc 8- (#205385)

Follow-up to https://github.com/llvm/llvm-project/pull/194728.

For gccs older than v9 use abort. That seems to make everybody happy.
DeltaFile
+15-15llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
+15-9llvm/test/TableGen/directive2.td
+15-9llvm/test/TableGen/directive1.td
+45-333 files

FreeBSD/ports e0057d3devel/jenkins distinfo Makefile

devel/jenkins: Update to 2.570

Event:          Halifax Hackathon 202606
Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3devel/jenkins/distinfo
+1-1devel/jenkins/Makefile
+4-42 files

FreeNAS/freenas a06fac7src/middlewared/middlewared/pytest/unit/utils test_security_descriptor.py, src/middlewared/middlewared/utils security_descriptor.py

NAS-139535 / 25.10.5 / Decode CHANGE-without-DELETE_CHILD share ACL mask as CHANGE (#19187)

A customer's `sharing.smb.getacl` crashed with `ValueError: 1245631 is
not a valid SDDLAccessMaskStandard` because the stored share ACL
contained an ACE with access mask 0x1301BF -- the CHANGE preset
(0x1301FF) minus the SEC_DIR_DELETE_CHILD bit (0x40). Such masks are
produced by some Windows versions / older Samba / sharesec shell edits.
`sd_bytes_to_share_acl` looked the mask up directly in the
SDDLAccessMaskStandard enum, which raised for the unrecognized value and
returned a 500 from getacl, so the admin could neither view nor fix the
share ACL.

Normalize this known equivalent mask to CHANGE at the single decode
site. This keeps the returned `ae_perm` within the existing API schema
(Literal['FULL','CHANGE','READ']) so there is no public API surface
change -- appropriate for a hotfix release.

Re-saving such an entry via setacl writes canonical CHANGE (0x1301FF),
healing the malformed mask.
DeltaFile
+15-0src/middlewared/middlewared/pytest/unit/utils/test_security_descriptor.py
+13-1src/middlewared/middlewared/utils/security_descriptor.py
+28-12 files

LLVM/project c2b7927flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

Revert "[flang][cuda] Do not emit data transfer for constant read on the rhs …"

This reverts commit 7781a0c196acda252a1db67936b76e96e9971f4c.
DeltaFile
+0-27flang/include/flang/Evaluate/tools.h
+1-13flang/test/Lower/CUDA/cuda-data-transfer.cuf
+2-1flang/lib/Evaluate/tools.cpp
+3-413 files

FreeBSD/src 2c1482etests/sys/fs/fusefs mockfs.cc pre-init.cc

fusefs: fix a race in the pre-init tests

These tests allow the user to customize the INIT response.  But it's
necessary to block the daemon's service loop from running until those
expectations have been set.  This race has never caused failures before
simply due to luck.  But now it's failing on slower platforms.

PR:             296236
Reported by:    siva
MFC after:      2 weeks
Sponsored by:   ConnectWise
Reviewed by:    siva
Differential Revision: https://reviews.freebsd.org/D57781
DeltaFile
+8-3tests/sys/fs/fusefs/mockfs.cc
+6-0tests/sys/fs/fusefs/pre-init.cc
+3-0tests/sys/fs/fusefs/mockfs.hh
+17-33 files

NetBSD/src LwBsNm1usr.bin/diff pr.c pr.h, usr.bin/diff3 diff3.c

   diff3(1): Just use waitpid(2), no need for kevent(2).

   Sidesteps

   PR kern/60358: kevent EVFILT_PROC races with process exit

   in order to fix

   PR bin/60357: diff3(1): tests are failing since BSD diff import

   The FreeBSD version used kevent(2) until February of this year:
   https://cgit.freebsd.org/src/commit/?id=404753664a5e145d98f1749d1c7bc046c8aa32c3
   So this reduces diff from FreeBSD somewhat, except FreeBSD uses
   capsicum and process fds rather than pids.
VersionDeltaFile
1.2+17-23usr.bin/diff3/diff3.c
1.2+10-10usr.bin/diff/pr.c
1.2+1-4usr.bin/diff/pr.h
+28-373 files

LLVM/project e09eee2llvm/include/llvm/Transforms/IPO Instrumentor.h InstrumentorRuntimeHelper.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add comparison instrumentation opportunity (#204069)

This patch adds an instrumentation opportunity for comparison
instructions (`icmp` and `fcmp`).
DeltaFile
+141-35llvm/lib/Transforms/IPO/Instrumentor.cpp
+112-0llvm/test/Instrumentation/Instrumentor/compare.ll
+67-6llvm/include/llvm/Transforms/IPO/Instrumentor.h
+49-0llvm/test/Instrumentation/Instrumentor/default_config.json
+33-0llvm/test/Instrumentation/Instrumentor/compare_config.json
+9-0llvm/include/llvm/Transforms/IPO/InstrumentorRuntimeHelper.h
+411-411 files not shown
+420-417 files

LLVM/project 05f4625lldb/test/API/lang/objc/hidden-ivars Makefile

[lldb][test] Fix TestHiddenIvars rebuild failures in hidden-ivars Makefile (#205114)

Two rebuild-state bugs surfaced when running `./bin/lldb-dotest -p
TestHiddenIvars.py`:

```
FAILED (errors=6, skipped=7, expected failures=2)
```

1. `mkdir: stripped: File exists`, mkdir failed on the second build
   because the directory already existed.  Switch to `mkdir -p`.

2. `cp -r a.out.dSYM stripped/a.out.dSYM` recurses *into* the existing
   destination on rebuild, producing a nested `stripped/a.out.dSYM/
   a.out.dSYM/`.  The outer dSYM keeps its stale UUID, so lldb cannot
   match it to the freshly relinked stripped binary (which gets a new
   UUID per link via -Wl,-random_uuid), causing source breakpoints to
   fail to resolve.  Remove the destination before copying.
DeltaFile
+2-1lldb/test/API/lang/objc/hidden-ivars/Makefile
+2-11 files

FreeNAS/freenas c623a33docs/source/accounts scram_authentication.rst, docs/source/middleware session.rst

Fix documentation
DeltaFile
+28-13docs/source/accounts/scram_authentication.rst
+1-1docs/source/middleware/session.rst
+29-142 files

LLVM/project 740224cflang/lib/Lower/OpenMP Utils.cpp ClauseProcessor.cpp, flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[Flang][OpenMP] Support iterator modifiers in map and motion clauses

Support iterated array elements and array sections in map and motion clauses for
target data, target enter data, target exit data, and target update constructs.

Preserve mapper resolution for iterated entries, including explicit mappers,
user-defined default mappers, declare mapper entries, and implicit default
mappers.

This PR stacked on top of #197047 and #197752.

This patch is part of the feature work for #188061.

Assisted with copilot.
DeltaFile
+507-0flang/test/Lower/OpenMP/motion-iterator.f90
+183-0flang/lib/Lower/OpenMP/Utils.cpp
+96-12flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+25-0flang/test/Lower/OpenMP/declare-mapper-iterator.f90
+15-0flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+12-0flang/lib/Lower/OpenMP/Utils.h
+838-123 files not shown
+838-399 files

LLVM/project 0a5768dflang/lib/Lower/OpenMP Utils.cpp

Add comment about iterator map bounds

Clarify why iterator map lowering keeps a stable base address while
lowering iterator-dependent subscripts inside the omp.iterator body.
This documents the difference from ordinary map bounds generation.
DeltaFile
+11-7flang/lib/Lower/OpenMP/Utils.cpp
+11-71 files

LLVM/project fa7e975flang/lib/Lower/OpenMP ClauseProcessor.cpp OpenMP.cpp, flang/test/Lower/OpenMP/Todo map-iterator-derived-member.f90 target-iterator-derived-member.f90

Resolve feedback about iterator member maps

Reject iterator-dependent derived type member maps for now. These maps
would otherwise bypass the parent/member bookkeeping in processMapObjects,
including parentMemberIndices construction and mapper resolution with
hasParentObj=true.

Without that bookkeeping, lowering map(iterator(...): x%a(i)) could emit
an incomplete parent partial map. Emit a TODO instead of silently generating
incorrect or incomplete mapping IR.
DeltaFile
+13-0flang/test/Lower/OpenMP/Todo/map-iterator-derived-member.f90
+13-0flang/test/Lower/OpenMP/Todo/target-iterator-derived-member.f90
+12-0flang/test/Lower/OpenMP/Todo/motion-iterator-derived-member.f90
+10-0flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+3-2flang/lib/Lower/OpenMP/OpenMP.cpp
+51-25 files

LLVM/project 3d8afc7flang/lib/Lower/OpenMP ClauseProcessor.cpp ClauseProcessor.h

Preserve iterator-dependent locators in shared map lowering

Share the iterated-map handling between map and motion clauses while
preserving iterator-dependent locators on map_iterated and keeping
standard map lowering for other clause objects.
DeltaFile
+57-38flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+12-0flang/lib/Lower/OpenMP/ClauseProcessor.h
+69-382 files

LLVM/project ff98536flang/include/flang/Utils OpenMP.h, flang/lib/Lower/OpenMP ClauseProcessor.cpp

Resolve feedback about createMapInfoOp usage

Build iterator-generated map entries through the shared createMapInfoOp
helper while preserving the FIR `var_ptr` type used to derive the OpenMP
`varPtrType` for `!llvm.ptr` iterator results.
DeltaFile
+17-1flang/include/flang/Utils/OpenMP.h
+6-12flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+2-2flang/lib/Utils/OpenMP.cpp
+25-153 files

LLVM/project c2e2bf2flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/test/Transforms omp-map-info-finalization.fir

Resolve feedback about MapInfoFinalization

Keep MapInfoFinalization from expanding `omp.map.info` operations nested
in omp.iterator regions. Those maps are yielded through the iterator
result, so rewriting them as outer target operands can violate SSA
dominance.
DeltaFile
+24-0flang/test/Transforms/omp-map-info-finalization.fir
+10-0flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+34-02 files

LLVM/project db07876llvm/lib/Target/RISCV RISCVInstrInfo.td

[RISCV] Remove isCodeGenOnly=0 from PseudoLA_TLSDESC. (#205366)

The default for a Pseudo is isCodeGenOnly=1. With isCodeGenOnly=0 the
'la.tlsdesc' is a valid mnemonic for the assembly parser, but crashes in
the encoder.

I don't think this was meant to be a valid assembly mnemonic so remove
it.
DeltaFile
+1-1llvm/lib/Target/RISCV/RISCVInstrInfo.td
+1-11 files

LLVM/project 87789e2clang/lib/CIR/CodeGen CIRGenFunction.cpp, clang/test/CIR/CodeGen member-pointer-null-init.cpp

[CIR] Handle non-zero-initializable types in emitNullInitialization (#201654)

Value-initializing an aggregate containing a pointer-to-data-member
(e.g. `new Inner()` where `Inner` has an `int Inner::*` field) crashed
with "type is not zero initializable" because `emitNullInitialization`
unconditionally called `errorNYI` for types where `isZeroInitializable`
returns false.

Member pointers use -1 as the null sentinel, so a plain zero store is
incorrect. Replace the `errorNYI` with `emitNullConstant`, which already
builds the correct per-field pattern (-1 for member-pointer fields, zero
elsewhere), and store the result. Types with virtual bases are still
guarded with `errorNYI` since `emitNullConstant` does not yet handle
them.
DeltaFile
+47-0clang/test/CIR/CodeGen/member-pointer-null-init.cpp
+9-1clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+56-12 files