LLVM/project 384be0c — llvm/test/ThinLTO/X86 cfi-icall-pgo-icp.ll

[test][ThinLTO] Precommit iFDO test for LowerTypeTests and ICP ordering (#241632)

Add an instrumentation PGO (!VP metadata) ThinLTO backend test for
indirect
call promotion to CFI jump table members. With LowerTypeTestsPass
running
before ICP, the promoted comparisons check @foo.cfi instead of the jump
table
entry @foo.

Needed by #241582.

Assisted-by: Gemini
DeltaFile
+61-0llvm/test/ThinLTO/X86/cfi-icall-pgo-icp.ll
+61-01 files

LLVM/project d4c0a74 — flang/lib/Semantics check-acc-structure.cpp, flang/test/Semantics/OpenACC acc-declare-unresolved.f90

[flang][OpenACC] Don't crash on unresolved names in DECLARE data clauses (#169500)

When name resolution cannot resolve a name in a data clause of an
OpenACC DECLARE directive, it reports an error (for example "No explicit
type declared for 'm'" under IMPLICIT NONE) and leaves the name without
a symbol. The duplicate-occurrence check for DECLARE clauses then
dereferenced the null symbol and crashed before that error was printed.
All eight data clauses that DECLARE accepts were affected, and the name
could be the enclosing module's name, a misspelled variable or an
intrinsic procedure name.

The check now skips names without a symbol, as the other OpenACC
data-clause checks already do, so only the name-resolution error is
reported.

Fixes #169487

Assisted-by: AI
DeltaFile
+71-0flang/test/Semantics/OpenACC/acc-declare-unresolved.f90
+4-0flang/lib/Semantics/check-acc-structure.cpp
+75-02 files

LLVM/project 25015f3 — llvm/lib/Support KnownFPClass.cpp

[KnownFPClass] Avoid the FPClassTest round trip in apply*DenormalMode (#241622)

The contract for `applyInputDenormalMode` and `applyOutputDenormalMode`
is that they only modify zero/subnormal classes. The round trip from
`FPClassMask` to `FPClassTest` via `getKnownFPClasses` and
`setKnownFPClasses` loses information, since `FPClassMask` represents
more information than `FPClassTest` (currently just the sign bit of NaN,
but `FPClassMask` will be able to represent additional classes in the
future).
DeltaFile
+20-20llvm/lib/Support/KnownFPClass.cpp
+20-201 files

NetBSD/src BYsj36F — sys/arch/m68k/m68k pmap_68k.c

   __CTASSERT(USPACE == 8192) simply to that other code can assume that
   it's true.
VersionDeltaFile
1.85+8-2sys/arch/m68k/m68k/pmap_68k.c
+8-21 files

OpenBSD/ports 2aHDvs0 — games/openrct2 Makefile distinfo

   games/openrct2: update to 0.5.7
VersionDeltaFile
1.16+2-2games/openrct2/distinfo
1.34+1-1games/openrct2/Makefile
+3-32 files

LLVM/project e07e153 — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-vcall-trap-recover-runtime.cpp cfi-vcall-type-checked-load.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+104-101clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+33-33clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
+9-1compiler-rt/test/cfi/overwrite.cpp
+1-5clang/lib/CodeGen/CGClass.cpp
+2-2compiler-rt/test/cfi/anon-namespace.cpp
+1-1compiler-rt/test/cfi/vdtor.cpp
+150-1433 files not shown
+153-1469 files

LLVM/project 4f90809 — llvm/include/llvm/ExecutionEngine/Orc EPCGenericDylibManagerSPS.h SharedMemoryMapSPS.h, llvm/unittests/ExecutionEngine/Orc SPSProxySpecTest.cpp

[ORC] Drop ProxyT parameter from sps::ProxySpec (#241628)

sps::ProxySpec<ProxyT, CI> becomes sps::ProxySpec<CI>: a spec now
depends only on its controller-interface descriptor, and its dispatch
function can serve any Proxy whose argument and result types are
serializable with CI::SPSSig.

ProxySpec::dispatch becomes a function template whose template arguments
are deduced when it is converted to a Proxy's DispatchFn, so existing
uses of Spec::dispatch (including recordProxy) are unchanged. The
callee's return type, which was previously taken from ProxyT, is
recovered from the client-facing result type and the SPS return tag.

The in-tree specs and their uses are updated, as is ORCv2.md.
DeltaFile
+49-12llvm/include/llvm/ExecutionEngine/Orc/SPSProxySpec.h
+17-43llvm/include/llvm/ExecutionEngine/Orc/EPCGenericMemoryAccessSPS.h
+9-15llvm/include/llvm/ExecutionEngine/Orc/SimpleMemoryMapSPS.h
+21-2llvm/unittests/ExecutionEngine/Orc/SPSProxySpecTest.cpp
+8-12llvm/include/llvm/ExecutionEngine/Orc/SharedMemoryMapSPS.h
+8-9llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManagerSPS.h
+112-9310 files not shown
+139-13116 files

LLVM/project f3bb498 — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-ignorelist.cpp cfi-vcall-type-checked-load.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+124-123clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+62-61clang/test/DebugInfo/Generic/cfi-vcall-debuginfo.cpp
+17-13clang/lib/CodeGen/CGClass.cpp
+3-3clang/test/CodeGenCXX/cfi-ignorelist.cpp
+206-2004 files

LLVM/project 8e4d40f — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-ignorelist.cpp cfi-vcall-type-checked-load.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+62-68clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+24-14clang/lib/CodeGen/CGClass.cpp
+2-2clang/test/CodeGenCXX/cfi-ignorelist.cpp
+88-843 files

LLVM/project c70951c — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-vtable-check.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+6-6clang/test/CodeGenCXX/cfi-vtable-check.cpp
+2-3clang/lib/CodeGen/CGClass.cpp
+8-92 files

LLVM/project b501f43 — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-stats.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+2-2clang/test/CodeGenCXX/cfi-stats.cpp
+1-2clang/lib/CodeGen/CGClass.cpp
+3-42 files

LLVM/project d828eda — clang/lib/CodeGen CGClass.cpp, clang/test/CodeGenCXX cfi-vtable-check.cpp cfi-vcall-trap-recover-runtime.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+42-42clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+36-33clang/test/CodeGenCXX/cfi-vcall-trap-recover-runtime.cpp
+12-17clang/test/CodeGenCXX/cfi-vtable-check.cpp
+14-8clang/lib/CodeGen/CGClass.cpp
+104-1004 files

LLVM/project a2459c3 — clang/lib/CodeGen MicrosoftCXXABI.cpp, clang/test/CodeGenCXX cfi-ms-secondary-vfptr.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+27-28clang/lib/CodeGen/MicrosoftCXXABI.cpp
+13-19clang/test/CodeGenCXX/cfi-ms-secondary-vfptr.cpp
+40-472 files

LLVM/project 8c832ac — clang/test/CodeGenCXX cfi-stats.cpp cfi-ignorelist.cpp, clang/test/DebugInfo/Generic cfi-vcall-debuginfo.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+1,108-0clang/test/CodeGenCXX/cfi-vcall-type-checked-load.cpp
+150-0clang/test/DebugInfo/Generic/cfi-vcall-debuginfo.cpp
+138-0clang/test/CodeGenCXX/cfi-vtable-check.cpp
+76-0clang/test/CodeGenCXX/cfi-ms-secondary-vfptr.cpp
+40-0clang/test/CodeGenCXX/cfi-ignorelist.cpp
+14-0clang/test/CodeGenCXX/cfi-stats.cpp
+1,526-01 files not shown
+1,529-17 files

LLVM/project b7ec213 — clang/lib/CodeGen ItaniumCXXABI.cpp CGClass.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+2-1clang/lib/CodeGen/MicrosoftCXXABI.cpp
+2-1clang/lib/CodeGen/CodeGenFunction.h
+1-1clang/lib/CodeGen/ItaniumCXXABI.cpp
+1-1clang/lib/CodeGen/CGClass.cpp
+6-44 files

NetBSD/src MIF9AbX — sys/arch/virt68k/virt68k machdep.c locore.s

   Rather than putting the kernel message buffer in the memory region
   that lies just before the kernel text, put the lwp0 u-area there.
VersionDeltaFile
1.52+13-8sys/arch/virt68k/virt68k/locore.s
1.46+2-12sys/arch/virt68k/virt68k/machdep.c
+15-202 files

LLVM/project 8cffc2f — clang/lib/CodeGen CodeGenFunction.h CGClass.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+17-9clang/lib/CodeGen/CGClass.cpp
+5-0clang/lib/CodeGen/CodeGenFunction.h
+22-92 files

NetBSD/src BWSxDST — sys/arch/m68k/include pmap_68k.h, sys/arch/m68k/m68k genassym.cf pmap_68k.c

   Export lwp0upa to allow the caller of pmap_bootstrap1() to specify
   the physical address for the lwp0 u-area.  If left unspecified, the
   USPACE-sized region is allocated dynamically, as before.
VersionDeltaFile
1.84+13-8sys/arch/m68k/m68k/pmap_68k.c
1.4+2-1sys/arch/m68k/m68k/genassym.cf
1.25+2-1sys/arch/m68k/include/pmap_68k.h
+17-103 files

LLVM/project 2708024 — lldb/include/lldb/Expression IRExecutionUnit.h ExternalSymbolResolver.h, lldb/source/Expression CMakeLists.txt IRExecutionUnit.cpp

[lldb] Extract ExternalSymbolResolver from IRExecutionUnit (#241136)

IRExecutionUnit::FindSymbol finds the load addresses of symbols that an
expression refers to but does not define. Despite living on the
execution unit, it is not specific to JIT compilation. It has three
callers: IRForTarget, to rewrite Objective-C constant strings and
selectors; the IR interpreter, to resolve function constants; and the
MCJIT memory manager, to resolve external symbols while linking. The
interpreter uses it even when nothing is JIT compiled.

Move FindSymbol, its five helpers, the file-local LoadAddressResolver
and ResolveFunctionCallLabel, and the state they use (m_sym_ctx,
m_preferred_modules and m_strip_underscore) into a new
ExternalSymbolResolver class. IRExecutionUnit owns one and forwards
FindSymbol and AppendPreferredSymbolContexts to it, so no callers
change.

m_failed_lookups and ReportSymbolLookupError stay on IRExecutionUnit.
They are not part of resolution: each caller decides how to handle a

    [11 lines not shown]
DeltaFile
+375-0lldb/source/Expression/ExternalSymbolResolver.cpp
+6-355lldb/source/Expression/IRExecutionUnit.cpp
+93-0lldb/include/lldb/Expression/ExternalSymbolResolver.h
+6-30lldb/include/lldb/Expression/IRExecutionUnit.h
+1-0lldb/source/Expression/CMakeLists.txt
+481-3855 files

LLVM/project 49568f3 — flang/include/flang/Optimizer/Builder/Runtime RTBuilder.h

[flang] Fix the memcpy function type model for MinGW-w64 (#233251)

`RTBuilder.h` needs a `getModel` specialization for the runtime's
`MemcpyFct` type, `void *(*)(void *, const void *, std::size_t)`, that
matches `std::size_t`. On 64-bit Windows `std::size_t` is `unsigned long
long`, but that specialization was guarded by `_MSC_VER`, so building
flang for MinGW-w64 (windows-gnu) failed to link:

```
ld.lld: error: undefined symbol: mlir::Type (*fir::runtime::getModel<void* (*)(void*, void const*, unsigned long long)>())(mlir::MLIRContext*)
```

Guard it by `_WIN32`, which MSVC, clang-cl and MinGW-w64 all define, and
spell the size parameter `std::uint64_t` instead of the MSVC-only
`unsigned __int64`. On 64-bit Windows `std::uint64_t` is `unsigned long
long`, the same type as `std::size_t` and as `unsigned __int64` under
MSVC, so it still matches `MemcpyFct` while making the 64-bit width
explicit. It has to be unsigned: `std::int64_t` would not match
`std::size_t` on any Windows target. MSVC and non-Windows builds are

    [5 lines not shown]
DeltaFile
+2-2flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
+2-21 files

FreeBSD/ports b090808 — devel/libphonenumber Makefile distinfo

devel/libphonenumber: Update to 9.0.43
DeltaFile
+3-3devel/libphonenumber/distinfo
+1-1devel/libphonenumber/Makefile
+4-42 files

LLVM/project 774a597 — lldb/include/lldb/Symbol Symtab.h, lldb/source/Target Statistics.cpp

[lldb] Add symbol table state flags, add accessors. (#239451)

A Module's Symtab may be constructed from a DataFileCache symtab, or
from the ObjectFile binary itself. If we have a report of incorrect lldb
behavior from an end user, we may need to know which was the source of
the symbol table via lldb commands or via SB API.

This adds a bitfield `m_state` to Symtab, with getters and setters for
the currently existing fields (set-from-symtab-cache,
set-from-objectfile). It exposes the lldb-enumerations bits via
SBModule. It has `statistics dump` also print if a symtab was
constructed from an object file (it currently only notes if a symtab was
constructed from a DataFileCache symtab file). It adds an option to
`image list`, `-F/--symtab-state-flags` which will show letters for each
bit that is set for the symbol table.

```
(lldb) help image list
       -F[<width>] ( --symtab-state-flags=[<width>] )

    [33 lines not shown]
DeltaFile
+86-0lldb/test/Shell/SymbolFile/DWARF/wasm-symtab-state-updated-symbol.yaml
+60-0lldb/test/API/functionalities/module_cache/symtab_state/TestSymtabState.py
+53-0lldb/test/API/functionalities/module_cache/debug_index/TestDebugIndexCache.py
+21-12lldb/include/lldb/Symbol/Symtab.h
+22-2lldb/source/Target/Statistics.cpp
+20-0lldb/test/API/functionalities/json/symbol-file/TestSymbolFileJSON.py
+262-1418 files not shown
+392-1924 files

LLVM/project 4d4e6a9 — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/lib/Sema SemaAMDGPU.cpp

AMDGPU: Use ArgRange for builtin constant argument range checks

Replace the manual Sema range checks of constant builtin arguments
with the new ArgRange annotation on the builtin definitions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+28-28clang/include/clang/Basic/BuiltinsAMDGPU.td
+0-35clang/lib/Sema/SemaAMDGPU.cpp
+28-632 files

LLVM/project 8f0499b — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaHIP builtins-amdgcn-arg-range-templated.hip

clang/AMDGPU: Check constant argument ranges of builtins

These builtins take a constant argument that the IR verifier range
checks on the corresponding intrinsic. Sema didn't enforce this, so
you could write code that failed the IR verifier. Use the new Range
annotation on the builtins to fix this.

This only covers builtins that previously had no range validation at
all. Builtins already checked by the manual switch in SemaAMDGPU will
be converted separately.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+26-26clang/include/clang/Basic/BuiltinsAMDGPU.td
+27-0clang/test/SemaHIP/builtins-amdgcn-arg-range-templated.hip
+23-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950-param.cl
+6-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-wmma-w32-param.cl
+2-0clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
+84-265 files

LLVM/project 136930a — clang/include/clang/Basic Builtins.def BuiltinsBase.td

Document that ArgRange matches the IR range attribute
DeltaFile
+2-1clang/include/clang/Basic/BuiltinsBase.td
+1-0clang/include/clang/Basic/Builtins.def
+3-12 files

LLVM/project 4e8374e — clang/include/clang/Basic BuiltinsBase.td Builtins.h, clang/lib/Basic Builtins.cpp

clang: Add ArgRange builtin attribute for constant argument ranges

Many target builtins take constant arguments that must be in a
specific range. These usually correspond directly to the Range
annotation on the IR intrinsic, which the verifier enforces. Today
this requires manual verification with a large builtin ID switch in
Sema, and missed cases will emit code that fails the IR verifier.

Add an ArgRange<Index, Lo, Hi> builtin attribute declaring that a
_Constant argument must be in the half-open range [Lo, Hi), the same
as the IR declaration.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+87-0clang/test/TableGen/builtin-arg-range.td
+50-24clang/lib/Sema/SemaChecking.cpp
+48-0clang/utils/TableGen/ClangBuiltinsEmitter.cpp
+23-0clang/lib/Basic/Builtins.cpp
+10-0clang/include/clang/Basic/Builtins.h
+7-0clang/include/clang/Basic/BuiltinsBase.td
+225-241 files not shown
+226-247 files

LLVM/project 96e2b7d — llvm/test/ThinLTO/X86 cfi-icall-pgo-icp.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+61-0llvm/test/ThinLTO/X86/cfi-icall-pgo-icp.ll
+61-01 files

FreeBSD/src 4678f9d — sys/dev/ixgbe if_ix.c

ixgbe: Restore EEE exclusion for X550EM_X KR

X550EM_X KR devices do not support EEE and have no setup_eee operation.
The shared-code update restored the capability removed by d61b6a41dd30,
and the E610 EEE support subsequently added an unchecked call during
attach. Together these changes allow a NULL function pointer call when
attaching a KR device.

Remove the incorrect EEE capability and use the NULL-safe ixgbe_setup_eee()
wrapper when enabling EEE at attach.

Removing the unsupported capability also stops exposing eee_state and the
eee.tx_lpi_count and eee.rx_lpi_count sysctls on X550EM_X_KR devices.

Fixes:  f72de14ea132 ("ixgbe: update if_ix and ixgbe api with ix-3.3.38 changes")
Fixes:  13ee84c591f8 ("ix(4): Add EEE support for E610 adapters")
MFC after:      1 week
Sponsored by:   BBOX.io
DeltaFile
+1-3sys/dev/ixgbe/if_ix.c
+1-31 files

LLVM/project a3ad4c6 — llvm/test/CodeGen/LoongArch expandmemcmp-optsize.ll expandmemcmp.ll

update tests
DeltaFile
+670-297llvm/test/CodeGen/LoongArch/expandmemcmp.ll
+612-155llvm/test/CodeGen/LoongArch/expandmemcmp-optsize.ll
+1,282-4522 files

LLVM/project fd43f6d — llvm/lib/Target/LoongArch LoongArchTargetTransformInfo.cpp LoongArchISelLowering.cpp

[LoongArch] Support memcmp expansion for vectors and combine for i128/i256 setcc

This commit enables memcmp expansion for lsx/lasx. After doing
this, i128 and i256 loads which are illegal types on LoongArch
will be generated. Without process, they will be splited to
legal scalar type.

So this commit also enable combination for `setcc` to bitcast
i128/i256 types to vector types before type legalization and
generate vector instructions.

Inspired by x86 and riscv.
DeltaFile
+119-13llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+8-3llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+127-162 files