file: normalize .result files to ensure trailing newline on install
Some upstream result files introduced in file 5.47 (e.g., bgcode.result)
lack a trailing newline, causing the contrib_file_tests ATF test to
fail with "cmp: EOF on bgcode.result". Generate normalized copies
of the expected results and install those instead.
MFC after: 3 days
Fixes: e949ce9dc0e6fff26e83904f1008b76d36ba0a37
[DenseMap] Fix ubsan error after #201281 (#201742)
```
/home/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/include/llvm/ADT/DenseMap.h:492:17: runtime error: null pointer passed as argument 1, which is declared to never be null
```
[CIR][AArch64] Lower NEON vslid intrinsics (#199415)
### summary
part of: https://github.com/llvm/llvm-project/issues/185382
this is a follow up of :
https://github.com/llvm/llvm-project/pull/198309
This adds CIR lowering for the scalar AArch64 NEON shift-left-and-insert
intrinsics `vslid_n_s64` and `vslid_n_u64`.
These ACLE builtins expose scalar `i64` interfaces, but the
corresponding LLVM intrinsic is vector-shaped:
```llvm
llvm.aarch64.neon.vsli.v1i64(<1 x i64>, <1 x i64>, i32) -> <1 x i64>
```
[2 lines not shown]
[RISCV] Enable combineAddMulh for vectors to improve div by constant. (#201657)
I modified the constant in some RVV division tests for coverage. I can
add new tests cases if that's preferred.
[CFI][ThinLTO] Remove the need for CFI calculating ThinLTO GUIDs (#201370)
CFI does name-based matching. ThinLTO uses a hash over the function name
(the "GUID"). As a result of this
[RFC](https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801)
- see also PR #184065 - GUID calculation should be treated as an
implementation detail, i.e. passes shouldn't need to re-do / reverse
engineer GUIDs.
The main reasons CFI is aware of GUIDs is because (1) the CFI functions
need to be communicated to ThinLink, as they need to be treated as
exports, in `LTO::runThinLTO`; and (2) because CFI needs to check the
liveliness of functions referenced in `cfi.functions` metadata, and this
check happens via the thinlto export summary
(`LowerTypeTestsModule::lower`).
To a lesser extent, the optimization in PR #130382 benefits from CFI
knowing about GUIDs; however, if this were the only reason, we could
make `ValueInfo`s available at that point, which carry names, and
[7 lines not shown]
[AMDGPU] Track tensor load/store DMAs with asyncmark (#200775)
Wire existing variants of the tensor load-to/store-from LDS intrinsics
into the existing asyncmark/wait.asyncmark mechanism via TENSOR_CNT
waitcnt counter.
Fixes: LCOMPILER-1619
devel/libsigc++30: update to 3.8.1
Update to 3.8.1
3.8.1 (stable) 2026-05-17
Documentation:
- MSVC_NMake/MSVC-Builds.md: Mention Visual Studio 2026
(Chun-wei Fan) Pull request #116
- Visual Studio builds: Update build information
(Chun-wei Fan) Pull request #118
Meson build:
- NMake Makefiles: Update for Visual Studio 2026
(Chun-wei Fan) Pull request #116
- NMake Makefiles: Clean up and make things more flexible
- NMake Makefiles: Make build process more robust
(Chun-wei Fan) Pull request #118
[2 lines not shown]
devel/libsigc++20: update to 2.12.2
Update to 2.12.2
2.12.2 (stable) 2026-05-17
This release and future releases will not store tarballs at
download.gnome.org/sources/. Only modules with source code at
gitlab.gnome.org/GNOME/ can store tarballs there now.
Tarballs of libsigcplusplus are now stored only at
github.com/libsigcplusplus/libsigcplusplus/releases/.
Documentation:
- README.md: Add info about building the documentation
(Kjell Ahlstedt) Issue #101 (raphael10-collab)
- Don't link to removed parts of gnome.org
(Kjell Ahlstedt)
- Remove obsolete FSF (Free Software Foundation) address
[37 lines not shown]
[clang][bytecode] Get the right definition before compiling functions (#201105)
This broke libc++'s
std/ranges/range.adaptors/range.concat/iterator/arithmetic.pass.cpp.
The (reduced via cvise but not enough) function looks like this:
```c++
friend constexpr unsigned
operator-(const __iterator &__x, const __iterator &__y)
{
(void)-(__y - __x);
return 0;
}
```
When evaluating the binary operator for overflow, we will compile the
operator- (_this_ function) to bytecode. At that point,
::isThisDeclarationADefiniton() will return true and ::getDefiniton()
[7 lines not shown]
pppoe(4): wait for incoming connection in STATE_STARTING on server
When the interface goes up, LCP is now explicitly opened to
start the lower (PPPoE) layer. This behavior is the same for
both active and passive connections.
To unify the implementation, remove the difference in LCP
handling between these connections.
[RISCV][P-ext] Add zero/sign extend support between 32-bit and 64-bit vectors. (#201694)
Still need to improve sext on RV64.
Assisted-by: Claude Sonnet 4.6
Remove unused if_up() code since loopback detected interface remains down
Previously, the lower layer could still trigger an if_up() even after
if_down(). However, now that if_down() completely stops the interface,
this subsequent if_up() is no longer called.
Reset LCP by triggering Close and Open events sequentially
Previously, LCP waited for a Down event after Close, and
triggered the Open event upon receiving it. However, simply triggering
the Close and Open events sequentially is sufficient to reset all
layer states.
NOTE:
To restart the connection after a keepalive timeout or
a loopback is detected, disable the PP_LOOPBACK_IFDOWN
and/or PP_KEEPALIVE_IFDOWN options.
[X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead
Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic
loads to integer at the IR level. Instead, handle this in a pre-legalize
DAG combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads
to integer atomic loads plus a bitcast.
This depends on #199310 which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand.
[ExprConstant] Treat `&*p` as not a dereference in C constant initializers (#201483)
In C, [C11 6.5.3.2p3] specifies that when the operand of unary `&` is
the result of a unary `*` operator, neither operator is evaluated and
the result is as if both were omitted. So `&*p` yields the pointer value
`p` without performing a dereference, and forming it is well-defined
even when `p` is null (e.g. `&*(int *)0`).
The constant evaluator did not honor this: it evaluated the `*` as a
real lvalue access and diagnosed a null dereference as undefined
behavior. This went unnoticed for ordinary scalar initializers, which
use the relaxed `Expr::isConstantInitializer()` check, but a bit-field
initializer is evaluated via `EvaluateAsInt()` with `SE_NoSideEffects`,
so the same expression was rejected there with "initializer element is
not a compile-time constant":
```
struct S { long v : 8; };
const struct S s = { .v = (long)&*(int *)0 }; // error
[9 lines not shown]
[RISCV][P-ext] Select scalar asub/asubu and mulhr/mulhru/mulhrsu on RV32 (#201540)
The truncate combine only formed these nodes for packed vectors; extend
it to scalar i32 on RV32 and add the matching isel patterns.
[DenseMap] Store occupancy in a packed used-bit array (#201281)
Track bucket occupancy in a packed 1-bit-per-bucket "used" array (uint32
words)
instead of an `Empty` sentinel key. The buckets and the used array share
one
allocation. The probing scheme is unchanged.
(uint64_t words lead to slightly larger clang binary.)
Because occupancy is a packed bit instead of an in-band sentinel,
probing and
iteration test a dense bit rather than loading each bucket key. This
helps
find-miss and iteration (the empty terminus and the empty buckets become
a bit
test, not a bucket load; for large keys it also skips the structural
compare
against the empty key) and large-bucket insert. It costs find-hit (the
matched
[19 lines not shown]