LLVM/project 3d6ae84 — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

AArch64: Use the DAG's libcall info in call and DAG lowering

Use the analysis libcall info instead of the static copy in
TargetLowering, which will eventually be removed.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+7-7llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+7-71 files

LLVM/project b1d1568 — llvm/lib/Target/Hexagon HexagonOptAddrMode.cpp HexagonInstrInfo.cpp

Hexagon: Remove redundant clearKillFlags calls

HexagonOptAddrMode recomputes kill flags with Liveness::resetKills
after any change, so its clears are redundant.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-12llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
+0-2llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
+0-142 files

LLVM/project 99b2e8a — llvm/lib/Target/X86 X86FlagsCopyLowering.cpp

X86: Remove clearKillFlags call in X86FlagsCopyLowering

Kill flags on physical registers here are either never set by the time
this code runs or are on reserved or constant registers where they
carry no information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-3llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
+0-31 files

LLVM/project e509cc7 — llvm/include/llvm/Analysis InlineCost.h, llvm/lib/Analysis DXILMetadataAnalysis.cpp AnalysisOptions.td

[Analysis] Port inliner threshold options to AnalysisOptions (#239650)

getInlineParams, getInlineParamsFromOptLevel, and
InlineConstants::getInstrCost take an LLVMContext. ModuleInlinerPass and
ModuleInlinerWrapperPass no longer default their InlineParams, which
read options during pass construction.

LLM-aided
DeltaFile
+64-100llvm/lib/Analysis/InlineCost.cpp
+23-0llvm/lib/Analysis/AnalysisOptions.td
+12-9llvm/lib/Passes/PassBuilderPipelines.cpp
+3-13llvm/lib/Analysis/DXILMetadataAnalysis.cpp
+7-6llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+8-4llvm/include/llvm/Analysis/InlineCost.h
+117-13214 files not shown
+157-16220 files

LLVM/project a7b386a — llvm/lib/Target/AArch64 AArch64MIPeepholeOpt.cpp AArch64InstrInfo.cpp

AArch64: Remove clearKillFlags calls

Kill flags are no longer permitted on virtual registers, but these
contexts may also see physical registers. Those physical register
kills are either never set by the time this code runs or are on
reserved or constant registers where they carry no information.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-2llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+0-1llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
+0-32 files

LLVM/project aa1a146 — llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp LegalizeVectorOps.cpp

SelectionDAG: Get libcall info from analysis, not TargetLowering (#239827)

TargetLowering's copy of the libcall info will eventually be
removed. Use the LibcallLoweringInfo analysis from SelectionDAG
instead.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+11-4llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+1-12llvm/include/llvm/CodeGen/TargetLowering.h
+2-1llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+1-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+16-195 files

FreeBSD/src 0f908da — sys/powerpc/include atomic.h

powerpc: Define the sub-word atomic load and store directly

All currently supported powerpc CPUs handle single-copy atomicity for
any size up to the native word size, so load and store operations are
guaranteed for sub-word size that are naturally aligned.
DeltaFile
+6-0sys/powerpc/include/atomic.h
+6-01 files

LLVM/project 7fcc4f5 — llvm/lib/Target/BPF BPFTargetMachine.cpp BPF.h

BPF: Register the unwind passes

Give BPFUnwindPrepare and BPFUnwindLower names, so that tests can stop
after them or run them on MIR.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+5-0llvm/lib/Target/BPF/BPFUnwind.cpp
+2-0llvm/lib/Target/BPF/BPFTargetMachine.cpp
+2-0llvm/lib/Target/BPF/BPF.h
+9-03 files

LLVM/project 2cb6811 — orc-rt/include/orc-rt/bedrock/sps LookupInJITDylibSPS.h, orc-rt/lib/bedrock/sps LookupInJITDylibSPS.cpp

[orc-rt] Report lookup failures from sps::lookupInJITDylib (#239890)

sps::lookupInJITDylib's wire signature returned a bare
SPSSymbolLookupResult, so the controller had no in-band way to report
that the lookup itself failed (e.g. a missing required symbol, or a
materialization failure). The only option was an out-of-band error,
which is indistinguishable from a failure to call the controller.

This commit changes the controller handler's return type to
SPSExpected<SPSSymbolLookupResult>, matching the NativeDylibManager
lookup. The public API is unchanged: lookupInJITDylib flattens the
transport and lookup errors into the Expected<SymbolLookupResult> passed
to its continuation.

The unit tests now check both error paths separately.
DeltaFile
+38-14orc-rt/test/unit/bedrock/sps/LookupInJITDylibSPSTest.cpp
+12-6orc-rt/lib/bedrock/sps/LookupInJITDylibSPS.cpp
+3-1orc-rt/include/orc-rt/bedrock/sps/LookupInJITDylibSPS.h
+53-213 files

FreeBSD/ports 96daf20 — www/pomerium Makefile distinfo, www/pomerium/files modules.txt

www/pomerium: update to 0.34.0

Release notes: https://github.com/pomerium/pomerium/releases/tag/v0.34.0

- Switch to Go 1.27, which upstream now requires.
- Regenerate modules.txt and update GH_TUPLE for the dependency
  refresh.  The Azure customtokenproxy package is now listed by
  upstream, so it no longer needs to be added by hand.
- genproto googleapis/api and googleapis/rpc are now at different
  commits; api comes from the root genproto tuple, rpc has its own.
- Fetch opentelemetry-go v1.46.0 for exporters/ and bridge/opencensus,
  which upstream pins to an older release than the v1.47.0 root
  module.
DeltaFile
+399-331www/pomerium/files/modules.txt
+289-279www/pomerium/distinfo
+159-148www/pomerium/Makefile
+847-7583 files

FreeBSD/ports 6a8860f — www/pomerium-envoy-custom Makefile distinfo, www/pomerium-envoy-custom/files patch-WORKSPACE patch-BUILD

www/pomerium-envoy-custom: update to 1.37.0.20261102

Update to envoy-custom commit e7b75c3a606d, which moves the bundled
Envoy from 1.38.8 to 1.38.9, as required by pomerium 0.34.0.

Envoy 1.38.9 has no dependency changes.  Add upstream's new
0014-disable-coverage-report-rounding.patch to the pre-build patch
list, and teach the new license_stamp.bzl rule about FreeBSD; its
select() only covered Linux and macOS.
DeltaFile
+11-7www/pomerium-envoy-custom/files/patch-BUILD
+18-0www/pomerium-envoy-custom/files/patch-bazel_ci_license_license__stamp.bzl
+6-6www/pomerium-envoy-custom/files/patch-WORKSPACE
+5-5www/pomerium-envoy-custom/distinfo
+4-3www/pomerium-envoy-custom/Makefile
+44-215 files

LLVM/project 8161b95 — llvm/lib/Target/BPF BPFTargetMachine.cpp BPF.h

BPF: Register the unwind passes

Give BPFUnwindPrepare and BPFUnwindLower names, so that tests can stop
after them or run them on MIR.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+5-0llvm/lib/Target/BPF/BPFUnwind.cpp
+2-0llvm/lib/Target/BPF/BPFTargetMachine.cpp
+2-0llvm/lib/Target/BPF/BPF.h
+9-03 files

LLVM/project 6ea7a2c — clang/docs ReleaseNotes.md, clang/lib/CodeGen CGStmtOpenMP.cpp

[clang][OpenMP] Fix assertion in the debug wrapper of CPU target kernels (#239580)

Fixes #188535

Any `omp target` region compiled for a CPU offload target with `-g` hit
the `Argument count mismatch` assert in
`GenerateOpenMPCapturedStmtFunctionAggregate`. It compared the field
count plus one against `F->getNumOperands()`, which on an
`llvm::Function` counts the hung-off operands (personality, prefix,
prologue data), not the parameters. That is zero here, so it fired on
every region. The IR emitted after it was fine, so release builds never
noticed.

Compare against `F->arg_size()` instead, which is what the code below
relies on: one parameter per captured field plus the implicit `dyn_ptr`.

AI assisted!
DeltaFile
+123-0clang/test/OpenMP/target_aggregate_debug_codegen.cpp
+1-2clang/lib/CodeGen/CGStmtOpenMP.cpp
+1-0clang/docs/ReleaseNotes.md
+125-23 files

LLVM/project fbe39d7 — llvm/utils/TableGen/Common CodeGenRegisters.cpp

TableGen: Only collect sub-registers when there are candidate sub-classes (#239308)

For each register class and sub-register index,
inferMatchingSuperRegClass
looked up the sub-register of every member before checking for candidate
sub-classes, but most pairs have none: 73% for AMDGPU, with 62% of the
lookups. Collect the sub-registers when the first candidate is found.

The candidates are found by the TopoSigs of the sub-registers, which are
the same for registers with the same TopoSig. So find them once per
class
from one member per TopoSig, which is usually a single member.

AMDGPU tablegen runs that build the register bank:

            Gigainstructions  Gigacycles     CPU seconds
  Before    564               311            100
  After     561 (-0.5%)       295 (-5.2%)    95 (-4.9%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+36-11llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+36-111 files

LLVM/project 574426f — llvm/utils/TableGen/Common CodeGenRegisters.cpp CodeGenRegisters.h

TableGen: Key register classes by member EnumValues in Key2RC (#239309)

Key2RC is searched with Key::operator<, which compares member lists and
loads every register in both. Store the EnumValues of the non-artificial
members in the keys instead, so a lookup only loads the members of the
class being looked up.

AMDGPU tablegen runs that build the register bank:

            Gigainstructions  Gigacycles     CPU seconds
  Before    561               295            95
  After     536 (-4.5%)       287 (-2.7%)    93 (-1.9%)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+34-1llvm/utils/TableGen/Common/CodeGenRegisters.h
+18-5llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+52-62 files

FreeBSD/src 934ffa4 — sys/powerpc/powerpc elf64_machdep.c

powerpc64: Don't ignore lookup errors in kernel linker

If a lookup fails for a R_PPC_JMP_SLOT (PLT relocation) ignoring errors
results in an address of 0 gets written into the jump slot, leading to a
NULL pointer jump when attempting to call the function it points to.
Fix this with proper error checking so that a module will fail to load
instead of crashing later on.
DeltaFile
+3-1sys/powerpc/powerpc/elf64_machdep.c
+3-11 files

LLVM/project 6a5c448 — compiler-rt/test lit.common.configured.in lit.common.cfg.py

Revert "[compiler-rt][test] Use sysroot dynamic linker and rpath on Linux" (#239886)

Reverts llvm/llvm-project#239878 caused sanitizer tests fail as in

https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8665827129947110481/overview
DeltaFile
+0-6compiler-rt/test/lit.common.cfg.py
+0-1compiler-rt/test/lit.common.configured.in
+0-72 files

LLVM/project cb1a495 — llvm/test/CodeGen/CSKY atomic-load-store.ll atomic-cmpxchg.ll

[test,CSKY] Fix AtomicExpand tests after #238972 (#239889)
DeltaFile
+190-80llvm/test/CodeGen/CSKY/atomic-rmw.ll
+60-80llvm/test/CodeGen/CSKY/atomic-cmpxchg.ll
+40-64llvm/test/CodeGen/CSKY/atomic-load-store.ll
+290-2243 files

LLVM/project 5fdb0a1 — clang/test/CIR/CodeGen wide-string.cpp predefined-expr.c, clang/test/CIR/CodeGenHIP string-literal-addrspace.hip

[CIR] Add unnamed_addr to cir.global (#239429)

Add an `unnamed_addr` unit property to cir.global and lower it to the
LLVM dialect's `unnamed_addr` attribute.

The LLVM dialect models this as a three-valued enum
(`#llvm.unnamed_addr<none|local_unnamed_addr|unnamed_addr>`). CIR uses
an on/off flag instead: classic codegen only ever sets `unnamed_addr` or
nothing, never `local_unnamed_addr` (that is introduced later by
optimization passes), so the extra state is not needed.

AI modified the tests accordingly.
DeltaFile
+24-24clang/test/CIR/CodeGenHIP/string-literal-addrspace.hip
+19-19clang/test/CIR/CodeGen/predefined-expr.c
+16-16clang/test/CIR/CodeGenSYCL/unique-stable-name.cpp
+16-16clang/test/CIR/CodeGen/wide-string.cpp
+28-0clang/test/CIR/IR/global-unnamed-addr.cir
+12-12clang/test/CIR/CodeGenOpenCL/string-literal-addrspace.cl
+115-8739 files not shown
+248-20045 files

FreeBSD/src 68ba58a — sbin/camcontrol nvres.c

camcontrol: Fix -Wcast-align errors in the NVMe reservation report

Casting the byte buffer that holds the Reservation Report payload to
the status structures trips -Wcast-align on strict-alignment
architectures, which broke the CI builds there.  Put the buffer in a
union with the two status structures instead, so it is properly
aligned and no casts are needed.

Reported by:    FreeBSD CI
Fixes:  ba75cf05727e ("camcontrol: Support NVMe reservations via the persist subcommand")
Co-authored-by: Claude Fable 5 <noreply at anthropic.com>
MFC after:      1 week
Sponsored by:   Spectra Logic
DeltaFile
+11-7sbin/camcontrol/nvres.c
+11-71 files

LLVM/project a04c40b — clang/lib/CIR/CodeGen CIRGenModule.h, clang/test/CIR/CodeGenCXX device-rtti.cpp

[CIR] Match classic codegen's shouldEmitRTTI for offload devices (#239817)

CIR's shouldEmitRTTI only disabled RTTI for CUDA/HIP device compiles and
OpenMP device compiles on NVPTX. Classic codegen disables it for any
offload device compile (SYCL, OpenMP, CUDA, HIP) targeting a GPU.

I use the same condition as classic codegen. CUDA and HIP behavior is
unchanged. Classic CodeGen does not have a.t.m tests for SYCL or OMP 
on AMDGPU I could not find any OG tests. As such, I am pushing tests
on the CIR test dir.
DeltaFile
+64-0clang/test/CIR/CodeGenCXX/device-rtti.cpp
+2-3clang/lib/CIR/CodeGen/CIRGenModule.h
+66-32 files

LLVM/project 2df00e1 — llvm/include/llvm/Option LibraryOptions.h, llvm/lib/Transforms/IPO IPOOptions.cpp

[Option] Add and use LLVM_REGISTER_LIBRARY_OPTIONS. NFC (#239887)

Extract from #239678: Exempt the file-scope registration of options
struct from -Wglobal-constructors, in preparation for enabling
-Werror=global-constructors for llvm/lib.
DeltaFile
+16-0llvm/include/llvm/Option/LibraryOptions.h
+1-2llvm/lib/Transforms/Instrumentation/InstrumentationOptions.cpp
+1-2llvm/lib/Transforms/InstCombine/InstCombineCLOptions.cpp
+1-1llvm/lib/Transforms/Vectorize/VectorizeOptions.cpp
+1-1llvm/lib/Transforms/Scalar/ScalarOptions.cpp
+1-1llvm/lib/Transforms/IPO/IPOOptions.cpp
+21-78 files not shown
+29-1514 files

LLVM/project b9df621 — compiler-rt/test lit.common.configured.in lit.common.cfg.py

Revert "[compiler-rt][test] Use sysroot dynamic linker and rpath on Linux (#2…"

This reverts commit cba0ce818d10e4541a5f0bdc43ab8826edf45ff6.
DeltaFile
+0-6compiler-rt/test/lit.common.cfg.py
+0-1compiler-rt/test/lit.common.configured.in
+0-72 files

LLVM/project 108d0d1 — llvm/lib/CodeGen CodeGenPrepare.cpp, llvm/test/Transforms/CodeGenPrepare/RISCV strength-reduce-vector-as-data-rv32.ll

[CGP] Fix incorrect sized ConstantInt crash

Fixes a buildbot failure after #226197, https://lab.llvm.org/buildbot/#/builders/210/builds/13772.

We were always using a 64-bit APInt for StructSize which causes a type mismatch and crash for 32-bit targets with scalable vectors, e.g. riscv32 with +v
DeltaFile
+57-0llvm/test/Transforms/CodeGenPrepare/RISCV/strength-reduce-vector-as-data-rv32.ll
+1-1llvm/lib/CodeGen/CodeGenPrepare.cpp
+58-12 files

LLVM/project 84919a0 — clang/utils/perf-training perf-helper.py

[perf-training][merge-fdata] Clean up input fdata files (#139650)

BOLT AArch64 worker has been running out of disk space due to excessive
fdata files being produced from clang-bolt builder. Delete merged fdata
files to counter disk space waste.
DeltaFile
+5-3clang/utils/perf-training/perf-helper.py
+5-31 files

FreeBSD/ports 8ab8161 — devel/opengrok pkg-plist

devel/opengrok: fix pkg-plist

Fixes: ab7529345354 ("devel/opengrok: update 1.14.19 -> 1.14.21")
DeltaFile
+2-2devel/opengrok/pkg-plist
+2-21 files

LLVM/project d25851a — clang/lib/Sema SemaDeclCXX.cpp, clang/test/AST ast-dump-defaulted-postfix-operators.cpp

[Clang][C++2d] Implement defaulted postfix increment and decrement operators (P3668R4) (#229560)

Paper:
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2026/p3668r4.html

Allow the postfix `operator++(int)` and `operator--(int)` to be
explicitly defaulted, as specified by P3668R4 ([over.inc.default]). The
implicit definition of a defaulted postfix operator for a type `C` is
equivalent to

```cpp
  C tmp(c);
  ++c;       // or --c
  return tmp;
```

where c denotes `*this` for an implicit object member function and the
first parameter otherwise. The copy is direct-initialized and `tmp` is a
candidate for named return value optimization.

    [32 lines not shown]
DeltaFile
+619-40clang/lib/Sema/SemaDeclCXX.cpp
+653-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-definition.cpp
+452-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-deleted.cpp
+413-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators-declaration.cpp
+191-0clang/test/SemaCXX/cxx2d-defaulted-postfix-operators.cpp
+119-0clang/test/AST/ast-dump-defaulted-postfix-operators.cpp
+2,447-4017 files not shown
+2,818-6523 files

NetBSD/src 2wc0Rg7 — sys/dev/sdmmc sdmmcreg.h sdmmc_mem.c

   SD_STATUS has an R2 response on SPI.

   From est at ceres.ne.jp

   PR kern/60977
VersionDeltaFile
1.82+3-3sys/dev/sdmmc/sdmmc_mem.c
1.37+2-2sys/dev/sdmmc/sdmmcreg.h
+5-52 files

LLVM/project cba0ce8 — compiler-rt/test lit.common.configured.in lit.common.cfg.py

[compiler-rt][test] Use sysroot dynamic linker and rpath on Linux (#239878)

Follow-up to https://github.com/llvm/llvm-project/pull/239742.
`glibc-X.Y` lit features are detected from `CMAKE_SYSROOT` headers, but
test binaries still executed against the host's glibc at runtime,
breaking
tests like `preinit_array.cpp` (`UNSUPPORTED: glibc-2.34`) and
`getline_nohang.cpp` (`UNSUPPORTED: glibc-2.38`) when the host glibc is
newer than the sysroot.

Assisted-by: Gemini
DeltaFile
+6-0compiler-rt/test/lit.common.cfg.py
+1-0compiler-rt/test/lit.common.configured.in
+7-02 files

LLVM/project e5b917d — llvm/lib/CodeGen OptimizePHIs.cpp MachineLICM.cpp, llvm/lib/CodeGen/SelectionDAG SelectionDAGISel.cpp

CodeGen: Remove clearKillFlags calls on virtual registers (#239778)

Kill flags are no longer permitted on virtual registers, so clearing
them is a no-op. Remove the calls in generic passes where the register
can only be virtual.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-21llvm/lib/CodeGen/PeepholeOptimizer.cpp
+0-20llvm/lib/CodeGen/MachineSink.cpp
+0-9llvm/lib/CodeGen/RegisterCoalescer.cpp
+0-8llvm/lib/CodeGen/MachineLICM.cpp
+0-6llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+0-3llvm/lib/CodeGen/OptimizePHIs.cpp
+2-671 files not shown
+2-707 files