LLVM/project 786ba30llvm/include/llvm/IR Intrinsics.td, llvm/lib/IR AutoUpgrade.cpp

[LLVM][AutoUpgrade] Support default args on undeclared multi-call upgrades (#216246)

When an `.ll` file contains multiple calls to an intrinsic without an explicit
declaration, only the first call is upgraded successfully, and the remaining
subsequent calls fail.

`LLParser` builds one temporary Function per call, so after the first
upgrade occupies the canonical name the later functions are uniquified
(eg. `llvm.foo.1`). The intrinsic ID was previously looked up using `F->getName()`,
which requires an exact name match. So, the uniquified names resolved to `not_intrinsic`, 
causing the upgrade to return and the default arguments were not applied.

This patch fixes this issue by using the cached `F->getIntrinsicID()`,
which is set when the temporary function is created from the original name. 
It also `rename(F)` before inserting the full declaration, so the temporary
function no longer occupies the canonical name.

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
DeltaFile
+43-37llvm/lib/IR/AutoUpgrade.cpp
+1-20llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+0-10llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
+1-3llvm/include/llvm/IR/Intrinsics.td
+45-704 files

LLVM/project 2307407orc-rt/include/orc-rt/bedrock Session.h, orc-rt/test/unit/bedrock SessionTest.cpp

[orc-rt] Add Session::attach for pre-mode ControllerAccesses. (#222227)

Allow clients to attach a session using a pre-constructed
ControllerAccess object. This allows clients to use non-trivial
construction methods (e.g. factories) to build ControllerAccess objects.
DeltaFile
+18-0orc-rt/test/unit/bedrock/SessionTest.cpp
+12-0orc-rt/include/orc-rt/bedrock/Session.h
+30-02 files

LLVM/project 6a091b9llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/AArch64 cmp_cost.ll arith-costs.ll

[VPlan] Remove VPInstruction::Not. NFC

It can be represented by a canonical `xor x, -1`. The motiviation for this is to help streamline pattern matchers so we can start dispatching combineRecipes based on opcodes.
DeltaFile
+24-24llvm/test/Transforms/LoopVectorize/VPlan/predicator.ll
+8-24llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+16-16llvm/test/Transforms/LoopVectorize/AArch64/arith-costs.ll
+8-8llvm/test/Transforms/LoopVectorize/VPlan/execution-frequencies-match-bfi.ll
+5-5llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
+3-3llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
+64-8014 files not shown
+83-10320 files

NetBSD/pkgsrc-wip 416bbacmesa distinfo, mesa/patches patch-meson.build

wip/mesa: Avoid to use -mtls-dialect for NetBSD to fix runtime errors
DeltaFile
+13-0mesa/patches/patch-meson.build
+1-0mesa/distinfo
+14-02 files

LLVM/project 7c4aac7lldb/unittests/API CMakeLists.txt

[lldb] Link API unit tests against LLVMTestingSupport. (#222206)

Changes to lldb have added a dependency on llvm::detail::TakeError, this
fails to link on my desktop without the dependency. Most other unittests
already link to LLVMTestingSupport.
DeltaFile
+1-0lldb/unittests/API/CMakeLists.txt
+1-01 files

LLVM/project 90e4efabolt/unittests/Core CMakeLists.txt

[BOLT][NFC] Fix CoreTests linking with shared libraries (#222225)

`CoreTests` directly uses `Triple` and `SubtargetFeatures` constructors
from `LLVMTargetParser` but does not declare the dependency. This causes
undefined-symbol errors with BUILD_SHARED_LIBS=ON.
https://github.com/llvm/llvm-project/pull/220581
Fix https://lab.llvm.org/buildbot/#/builders/218/builds/6464.
DeltaFile
+1-0bolt/unittests/Core/CMakeLists.txt
+1-01 files

FreeBSD/src 1de79e7tools/boot universe.sh

universe.sh: add MK_BEARSSL build

BEARSSL is disabled by default, add this here to make sure it doesn't
break.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D59516
DeltaFile
+12-0tools/boot/universe.sh
+12-01 files

FreeBSD/src bac0daatools/boot universe.sh

universe.sh: build with 1.5 * ncpu jobs

Build with 1.5 * ncpu jobs instead of hardcoding 40.

Reviewed by:    imp
Differential Revision:  https://reviews.freebsd.org/D59515
DeltaFile
+1-1tools/boot/universe.sh
+1-11 files

LLVM/project eb2f2a3libcxx/src/support/win32 locale_win32.cpp

fix windows locale error
DeltaFile
+2-2libcxx/src/support/win32/locale_win32.cpp
+2-21 files

LLVM/project 4f45ae1llvm/lib/Transforms/Vectorize CMakeLists.txt SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPReductionUtils.h SLPReductionUtils.cpp

[SLP][modularisation][NFC] Move reduction match helpers to SLPReductionUtils (#222052)

Move the following BoUpSLP-independent reduction pattern-match helpers
out of SLPVectorizer.cpp into a new
SLPVectorizer/SLPReductionUtils.{h,cpp}:

  getNonPhiOperand
  isReductionCandidate

matchRdxBop, used only by these two, moves alongside them and stays
file-local. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI
DeltaFile
+57-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.cpp
+1-40llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+35-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPReductionUtils.h
+1-0llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
+1-0llvm/lib/Transforms/Vectorize/CMakeLists.txt
+95-405 files

LLVM/project bcef85fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPMemoryUtils.h SLPMemoryUtils.cpp

[SLP][modularisation][NFC] Move compress load/store helpers to SLPMemoryUtils (#222038)

Move the following BoUpSLP-independent masked-load/store compress
helpers out of SLPVectorizer.cpp into
SLPVectorizer/SLPMemoryUtils.{h,cpp}:

  isMaskedLoadCompress (both overloads)
  isMaskedStoreCompress

buildCompressMask, used only by isMaskedLoadCompress, moves alongside
them and stays file-local. isMaskedLoadCompress reads the file-local
SLPReVec cl::opt; the option stays static in SLPVectorizer.cpp and the
moved helper takes its value as an explicit bool parameter. Behavior is
unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI
DeltaFile
+8-249llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+255-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
+39-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.h
+302-2493 files

LLVM/project 4e5db25llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Remove (X && Y) | (X && !Y) -> X combine. NFC

We have smaller combines that can take care of this now that we process recipes in a worklist
DeltaFile
+1-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-81 files

LLVM/project aac964dllvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

[VPlan] Append recipes created via builder to worklist

The previous PR appended the top most created recipe to the worklist, and this PR extends it to any other nested recipes that were created, similar to InstCombine.

This removes the header mask in a good few more places on RISC-V as measured on SPEC CPU 2017, e.g. for the following loop:

```c
long f(const int *p, const int *q, long n) {
  long a = 0, b = 0;
  for (long i = 0;; i++) {
    if (p[i] && q[i]) { a += i; b += i; }
    if (i + 1 == n) break;
  }
  return a + b;
}
```

Before:


    [49 lines not shown]
DeltaFile
+26-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-4llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+5-7llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+42-193 files

LLVM/project 325250bllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Unindent loop
DeltaFile
+14-13llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+14-131 files

LLVM/project 196e713llvm/test/Transforms/LoopVectorize blend-i1.ll

Make then branch non-dead
DeltaFile
+10-6llvm/test/Transforms/LoopVectorize/blend-i1.ll
+10-61 files

LLVM/project cf3027ellvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize iv_outside_user.ll blend-i1.ll

[VPlan] Process simplifyRecipes in a worklist

This brings simplifyRecipes further in line with InstCombine, and asides from unlocking more simplifications it also helps avoid spurious test churn whenever passes are moved around simplifyRecipes.

For now just push the new recipe onto the worklist, not its users.
This uses a post order traversal so we maintain the same simplification order as before.

I've gone through and checked every simplification we do is a canonicalisation that converges, and I checked on llvm-test-suite + SPEC CPU 2017 in various configurations that we don't hit any cycles.
DeltaFile
+23-14llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+4-8llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
+2-3llvm/test/Transforms/LoopVectorize/blend-i1.ll
+1-2llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
+30-274 files

LLVM/project d0b2843llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

Precommit test
DeltaFile
+163-0llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+163-01 files

LLVM/project 965f358llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Switch to SmallVector with space on stack

SmallVector allows for much larger small sizes than SetVector, so use 256 to match InstructionWorklist.
We don't need to worry about duplicate worklist entries until we add users to the worklist.
DeltaFile
+4-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+4-41 files

LLVM/project 945b284llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Use make_pointer_range
DeltaFile
+1-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-21 files

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

Address review comments

- Limit to double initial worklist size
- Use VPSingleDefRecipe type
DeltaFile
+11-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-61 files

LLVM/project 1286adcllvm/test/Transforms/LoopVectorize blend-i1.ll

Precommit test
DeltaFile
+58-0llvm/test/Transforms/LoopVectorize/blend-i1.ll
+58-01 files

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

No need to dyn_cast to singledef recipe anymore
DeltaFile
+1-3llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-31 files

LLVM/project 1261f50llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize vplan-print-before-after.ll

[VPlan] Split simplifyRecipes into simplifyRecipes and combineRecipes (#221924)

Bringing it in line with InstSimplify and InstCombine, split up
simplifyRecipe into a function that modifies and creates recipes
(combineRecipe), and one that is analysis-only (simplifyRecipe).

This allows us to avoid adding simplficiation only folds to the worklist
in #213899.

The funclet.ll test no longer erases the constant-folded intrinsic call
because vputils::isDeadRecipe returns false.
DeltaFile
+249-234llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+9-6llvm/test/Transforms/LoopVectorize/X86/funclet.ll
+5-5llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
+4-4llvm/test/Transforms/LoopVectorize/vplan-print-before-after.ll
+4-4llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-1llvm/test/Transforms/LoopVectorize/VPlan/constant-fold.ll
+272-2541 files not shown
+273-2557 files

NetBSD/pkgsrc 4ZrjgEzdoc CHANGES-2026

   doc: Updated textproc/libcyaml to 1.4.2
VersionDeltaFile
1.5954+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc k6gSWONtextproc/libcyaml Makefile distinfo

   textproc/libcyaml: Update to 1.4.2

   == v1.4.2 ==

   Buildsystem:

   - Add explicit shared and static library install targets.

   General:

   - Small code cleanups.
   - Reverted to C89-compatible static assertion macro.
   - Fixes build on quirky platforms.
   - Rationalised GitHub actions.
   - Fixed CI for MacOS.

   No changes are required for client applications to upgrade.

   == v1.4.1 ==

    [30 lines not shown]
VersionDeltaFile
1.3.32.1+2-6textproc/libcyaml/Makefile
1.4.32.1+4-4textproc/libcyaml/distinfo
+6-102 files

LLVM/project 83728c8lldb/docs/resources formatterbytecode.md, lldb/include/lldb/DataFormatters FormatterBytecode.def FormatterBytecode.h

[lldb] Add APSInt representation to formatter bytecode (#220665)

Adopt a single representation for integers in the formatter bytecode
interpreter. This simplifies code generation, where the (now deprecated)
distinction of `uint64_t` and `int64_t` types could make conditionals
and other operations more complicated, by having to have code paths for
signed and unsigned.

Depends on https://github.com/llvm/llvm-project/pull/218801

Assisted-by: claude
DeltaFile
+144-19lldb/source/DataFormatters/FormatterBytecode.cpp
+144-0lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
+15-10lldb/docs/resources/formatterbytecode.md
+19-0lldb/source/DataFormatters/TypeSynthetic.cpp
+14-2lldb/include/lldb/DataFormatters/FormatterBytecode.h
+5-4lldb/include/lldb/DataFormatters/FormatterBytecode.def
+341-351 files not shown
+343-357 files

NetBSD/src NxJGMpMsys/ufs/lfs lfs_segment.c

   Protect seg_iocuont with lfs_lock instead of lfs_prelock.
VersionDeltaFile
1.314+6-4sys/ufs/lfs/lfs_segment.c
+6-41 files

LLVM/project 6ef30f1llvm/include/llvm/CodeGen/GlobalISel GIMatchTableExecutorImpl.h

[GlobalISel] Use getTypeFromIdx instead of direct table indexing in GIR_AddCImm (#222114)
DeltaFile
+1-1llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
+1-11 files

LLVM/project bcbab5aclang/test/Driver fsanitize-undefined-offload.c

remove not
DeltaFile
+0-15clang/test/Driver/fsanitize-undefined-offload.c
+0-151 files

LLVM/project ec054dbclang/include/clang/Driver CommonArgs.h, clang/lib/Driver/ToolChains AMDGPU.cpp Clang.cpp

[Clang] Enable UBSan for AMDGPU device offload

Summary:
This enables the device UBSan runtime for AMDGPU decides. Primarily this
required modifications to the `addSanitizerRuntime` interface so we can
query the compilation's offload status. Also need to forward it through
the linker wrapper interface. Works on all AMDGPU offload, slight hacks
around the other targets as they do not advertise sanitizer
runtimes properly.

This is linked in via a new `-u __ubsan_device_initialize` hook to pull
in the side library. This is standard behavior and keeps the core logic
mostly unchanged and re-used.
DeltaFile
+50-0clang/test/Driver/fsanitize-undefined-device-offload.c
+32-3clang/lib/Driver/ToolChains/CommonArgs.cpp
+2-2clang/lib/Driver/ToolChains/Hexagon.cpp
+2-1clang/lib/Driver/ToolChains/Clang.cpp
+1-1clang/lib/Driver/ToolChains/AMDGPU.cpp
+1-1clang/include/clang/Driver/CommonArgs.h
+88-813 files not shown
+98-1819 files