LLVM/project 6511483 — flang/lib/Parser openacc-parsers.cpp, flang/test/Parser acc-label-do-end-name.f90

[flang][openacc] Diagnose a construct name on the END DO of an ACC labeled DO (#230308)

When an OpenACC loop or combined construct is associated with a labeled DO
loop, AccNonBlockDoConstruct turns a terminating END DO statement into a
labeled CONTINUE statement, which silently dropped any construct name on the
END DO. The DO statement of an unnamed labeled DO loop has no construct
name, so a name on its END DO is not allowed (C1135), and it is already
diagnosed when the loop is not associated with a directive:

```fortran
!$acc parallel loop
do 10 i = 1, n
  a(i) = 0
10 end do foo
```

Report "Unexpected DO construct name" at the name before it is dropped.
Also add tests for labeled END DO forms that are accepted: a branch to the
END DO from inside the loop, END DO followed by an end directive, the kernels

    [3 lines not shown]
DeltaFile
+53-0flang/test/Parser/acc-label-do-end-name.f90
+49-0flang/test/Semantics/OpenACC/acc-label-do.f90
+8-1flang/lib/Parser/openacc-parsers.cpp
+110-13 files

LLVM/project f3c93ac — clang/lib/AST ASTContext.cpp, clang/lib/CodeGen CGRecordLayoutBuilder.cpp

[Clang] Fix oversized bit-field layout on big-endian targets (#225494)

Fixes #225361.

This patch fixes two issues related to bit-fields:

- **Big-endian CodeGen:** Clang incorrectly places the value bits of
oversized bit-fields after the padding bits, contrary to the Itanium C++
ABI (§2.4). Fix the layout so that value bits precede padding bits.
- **`__builtin_clear_padding` (LE and BE):** Correct the occupied-bit
calculation for bit-fields, including `bool` and `_BitInt`, by using
`min(declared width, type size)`. This preserves bits that should not be
treated as padding.
DeltaFile
+263-270clang/test/CodeGenCXX/builtin-clear-padding-codegen.cpp
+83-0clang/test/CodeGenCXX/big-endian-oversized-bitfield.cpp
+10-14clang/lib/AST/ASTContext.cpp
+5-0clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
+361-2844 files

LLVM/project 1c10209 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 negated-lane-wrap-flags.ll

[SLP]Fix wrap flags for lanes emitted in negated form

sub C, x emitted as add x, -C (or a swapped add/sub lane) negates the
value; nsw/nuw of the original do not cover the negated overflow.
Drop poison-generating flags on the emitted vector add/sub then.

Fixes #230391

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/230453
DeltaFile
+35-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-2llvm/test/Transforms/SLPVectorizer/X86/negated-lane-wrap-flags.ll
+37-22 files

FreeBSD/ports 21907ef — www/evcc Makefile distinfo, www/evcc/files patch-package.json patch-vite.config.ts

www/evcc: update to 0.317.0

Changes:        https://github.com/evcc-io/evcc/releases
DeltaFile
+2,009-1,781www/evcc/files/patch-package-lock.json
+17-12www/evcc/files/patch-vite.config.ts
+12-12www/evcc/files/patch-package.json
+7-7www/evcc/distinfo
+5-6www/evcc/Makefile
+2,050-1,8185 files

FreeBSD/ports 3d6c223 — mail/mlmmj Makefile distinfo

mail/mlmmj: update to 2.2.1
DeltaFile
+3-3mail/mlmmj/distinfo
+1-1mail/mlmmj/Makefile
+4-42 files

FreeBSD/ports e2d1eef — net/intel-iavf-kmod Makefile

net/intel-iavf-kmod: broken on 15+

iavf_lib.c:1501:18: error: no member named 'msix_msgnum' in 'struct pcicfg_msix'
 1501 |         dinfo->cfg.msix.msix_msgnum = (msix_ctrl & PCIM_MSIXCTRL_TABLE_SIZE) + 1;
DeltaFile
+3-0net/intel-iavf-kmod/Makefile
+3-01 files

OPNSense/core 5aaddb8 — src/opnsense/scripts/interfaces list_assign_options.php

interfaces: fix previous
DeltaFile
+1-1src/opnsense/scripts/interfaces/list_assign_options.php
+1-11 files

LLVM/project 3f098e0 — libc/include termios.yaml, libc/src/termios tcgetwinsize.h

[libc] Implement tcgetwinsize in termios (#228435)

Implement the standard POSIX.1-2024 function `tcgetwinsize` in
`<termios.h>`.

Fixes #228379
Part of #228378

Implementation was assisted by Antigravity by analysing other functions
in header and reviewed by Aman Maurya.
DeltaFile
+91-0libc/test/src/termios/tcgetwinsize_test.cpp
+34-0libc/src/termios/linux/tcgetwinsize.cpp
+26-0libc/src/termios/tcgetwinsize.h
+20-0libc/test/src/termios/CMakeLists.txt
+15-0libc/src/termios/linux/CMakeLists.txt
+9-0libc/include/termios.yaml
+195-05 files not shown
+207-011 files

LLVM/project 29707f4 — lldb/source/Host/common PythonRuntimeLoader.cpp

[lldb][Windows] Register the Python runtime's directory for DLL dependency resolution (#225815)

Follow-up to the discussion on llvm/llvm-project#206585: @mstorsjo found
that pointing LLDB at a specific Python install via
`LLDB_PYTHON_DLL_RELATIVE_PATH` breaks with the limited API DLL.

`python3.dll` forwards to the version numbered DLL and the forwarder
only resolves if that directory is already on `PATH`.

This patch applies @Nerixyz's suggesetion of reinstating
`SetDllDirectory` handling that was dropped in ff65d81. This uses
`AddDllDirectory` instead, registering the runtime's directory so lazy
forwarder resolution finds it regardless of PATH. More details here:
https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-security.

> Use the `LOAD_LIBRARY_SEARCH` flags with the `LoadLibraryEx` function,
or use these flags with the `SetDefaultDllDirectories` function to
establish a DLL search order for a process and then use the
`AddDllDirectory` or `SetDllDirectory` functions to modify the list.

    [5 lines not shown]
DeltaFile
+40-0lldb/source/Host/common/PythonRuntimeLoader.cpp
+40-01 files

OPNSense/core 6c6540b — src/etc/inc/plugins.inc.d vxlan.inc wireguard.inc, src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes DeviceField.php

interfaces: provide better optgroup labels to DeviceField
DeltaFile
+7-0src/etc/inc/plugins.inc.d/core.inc
+3-2src/etc/inc/plugins.inc.d/ipsec.inc
+2-2src/opnsense/scripts/interfaces/list_assign_options.php
+0-3src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/DeviceField.php
+2-1src/etc/inc/plugins.inc.d/wireguard.inc
+1-0src/etc/inc/plugins.inc.d/vxlan.inc
+15-82 files not shown
+17-88 files

LLVM/project 4a019b7 — lldb/source/Plugins/Process/Windows/Common NativeThreadWindows.cpp NativeThreadWindows.h

[lldb][Windows] Ignore stale traps delivered after a resume (#228440)

A thread can hit a trap at the same time as the thread whose exception
caused the stop. Windows only delivers one debug event at a time, so the
second thread's event is not sent until the process is resumed. By then
the trap it reports can be stale:

1. A
[`STATUS_SINGLE_STEP`](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/specific-exceptions)
for a thread that the current resume did not step.
`NativeProcessWindows::HandleSingleStepException` reports it as a
`eStopReasonTrace` stop. `NativeThreadWindows` now records whether its
last `DoResume()` stepped it, and masks the trap which arrives too late.

2. A
[`STATUS_BREAKPOINT`](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/specific-exceptions)
for a breakpoint the client removed during the stop. The original byte
is back in memory, so `HandleBreakpointException` does not find a
breakpoint site and reports an exception stop, with the program counter

    [8 lines not shown]
DeltaFile
+42-1lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
+7-0lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.h
+6-0lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.h
+1-0lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
+56-14 files

LLVM/project 3820435 — llvm/test/Transforms/SLPVectorizer/X86 negated-lane-wrap-flags.ll

[SLP][NFC]Add a test with incorrect flag propagation, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/230448
DeltaFile
+130-0llvm/test/Transforms/SLPVectorizer/X86/negated-lane-wrap-flags.ll
+130-01 files

LLVM/project 73c1fe1 — llvm/lib/Transforms/Vectorize VPlanAnalysis.cpp, llvm/test/Transforms/LoopVectorize revec-reg-usage.ll

[LV][REVEC] Correctly compute register usage

For REVEC, the initial types might already be vectors, so make sure the
right register class is picked.
DeltaFile
+39-0llvm/test/Transforms/LoopVectorize/revec-reg-usage.ll
+17-12llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+56-122 files

LLVM/project a09df97 — bolt/lib/Core BinaryFunction.cpp Relocation.cpp, bolt/lib/Target/AArch64 AArch64MCPlusBuilder.cpp

[BOLT][AArch64] Add support for conditional tail calls in cold code (#227693)

BOLT handles AArch64 conditional tail calls in cold code using
the workaround implemented in #140669. This leaves the
conditional branches unchanged and patches the target function’s
original entry to redirect execution to the relocated function.

This patch adds support for R_AARCH64_CONDBR19 and
R_AARCH64_TSTBR14 relocations so that BOLT can now
update B.cond, CB(N)Z, and TB(N)Z to directly reach relocated
functions when they are within range. Branches out-of-range
are left unchanged and target the original patched function.

Assisted-by: Codex
DeltaFile
+90-0bolt/unittests/Core/Relocation.cpp
+78-0bolt/test/AArch64/condbr19-tailcall.s
+76-0bolt/test/AArch64/tstbr14-tailcall.s
+26-3bolt/lib/Core/Relocation.cpp
+9-18bolt/lib/Core/BinaryFunction.cpp
+18-7bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
+297-284 files not shown
+315-4010 files

LLVM/project 8ffd3ce — llvm/include/llvm/DebugInfo/DWARF DWARFExpressionPrinter.h

fixup! [DebugInfo] Print DWARF expressions without a DWARFUnit dependency
DeltaFile
+1-1llvm/include/llvm/DebugInfo/DWARF/DWARFExpressionPrinter.h
+1-11 files

LLVM/project 07b499b — clang/lib/AST/ByteCode InterpBuiltin.cpp, clang/test/AST/ByteCode c.c

[clang][bytecode] Reject strcmp with non-primitive element types (#230396)
DeltaFile
+6-0clang/test/AST/ByteCode/c.c
+2-1clang/lib/AST/ByteCode/InterpBuiltin.cpp
+8-12 files

LLVM/project 955285d — llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/test/MC/AArch64 armv8.5a-mte-error.s basic-a64-diagnostics.s

fixup! And fix all the other cases
DeltaFile
+69-69llvm/test/MC/AArch64/basic-a64-diagnostics.s
+53-53llvm/test/MC/AArch64/armv8.5a-mte-error.s
+37-29llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+16-16llvm/test/MC/AArch64/SVE/st1h-diagnostics.s
+16-16llvm/test/MC/AArch64/SVE/ld1h-diagnostics.s
+14-14llvm/test/MC/AArch64/SVE/st1w-diagnostics.s
+205-197113 files not shown
+667-659119 files

LLVM/project 9bb6bc1 — llvm/test/MC/AArch64 armv9.8a-cflt-diagnostics.s arm64-diags.s, llvm/test/MC/AArch64/SVE str-diagnostics.s ldr-diagnostics.s

[AArch64][llvm] Fix incorrect diagnostic (index/immediate in simm9)

Improve the error message in the simm9 diagnostics and use the word
'immediate' instead of 'index'. This was noticed when creating the
CFLT instructions for Armv9.8-A, but would have caused a lot of
unrelated churn if merged as part of that change.

Co-authored-by: Martin Wehking <martin.wehking at arm.com>
DeltaFile
+82-82llvm/test/MC/AArch64/basic-a64-diagnostics.s
+39-39llvm/test/MC/AArch64/armv8.4a-ldst-error.s
+5-5llvm/test/MC/AArch64/arm64-diags.s
+4-4llvm/test/MC/AArch64/SVE/str-diagnostics.s
+4-4llvm/test/MC/AArch64/SVE/ldr-diagnostics.s
+2-2llvm/test/MC/AArch64/armv9.8a-cflt-diagnostics.s
+136-1361 files not shown
+137-1377 files

LLVM/project 20ea4a8 — llvm/lib/Target/X86 X86Options.td X86ISelLowering.cpp, llvm/test/CodeGen/X86 mul-constant-i32.ll mul-constant-i64.ll

[X86] Remove mul-constant-optimization flag (#229376)

The flags doesn't give us complete control as there's a lot of crossover with other folds,
some generic, some in X86DAGToDAGISel and X86FixupLEAs.

Without it we have partial control based off minsize builds and the Slow
LEA tuning flags, but tbh I'd prefer this fold wasn't in the DAG at all,
but scheduler driven in MachineCombiner or X86FixupLEAs.
DeltaFile
+679-1,139llvm/test/CodeGen/X86/mul-constant-i64.ll
+624-991llvm/test/CodeGen/X86/mul-constant-i32.ll
+2-5llvm/lib/Target/X86/X86ISelLowering.cpp
+0-2llvm/lib/Target/X86/X86Options.td
+1,305-2,1374 files

LLVM/project ff3baf3 — llvm/test/Transforms/SLPVectorizer/X86 negated-lane-wrap-flags.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+130-0llvm/test/Transforms/SLPVectorizer/X86/negated-lane-wrap-flags.ll
+130-01 files

LLVM/project a93e321 — llvm/lib/Transforms/Vectorize VPlan.h VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize revec-liveout.ll

Test recipe execution for vector types

This ensures that execute() and get(VPV, LaneIdx) give expected
results for "vector lanes".

This requires a slight adjustment to type asserts in
VPInstruction::execute to be safe for REVEC.

And ensure a value is correctly detected as "widened", even when
VF == VFScaleFactor
DeltaFile
+76-0llvm/test/Transforms/LoopVectorize/revec-liveout.ll
+50-0llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+13-2llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-1llvm/lib/Transforms/Vectorize/VPlan.h
+141-34 files

LLVM/project e9da10d — llvm/test/Transforms/LoopVectorize revec-memory-contiguous.ll revec-memory-interleaved.ll

[LV][REVEC][AArch64] Proof of concept for re-vectorisation

This shows the changes required to enable basic re-vectorisation support in LoopVectorizer. Most of the diff comes from the added tests, the changes to LoopVectorizer files are rather minimal. This proof-of-concept has obvious limitations and only represents the first building block.

My hope is that this helps discussions and complements the RFC at https://discourse.llvm.org/t/rfc-re-vectorisation-to-wider-vectors-in-loopvectorizer/91071.

Support for re-vectorisation is hidden behind a -vectorize-vector-loops flag and LV will bail out if it encounters constructs that are not yet supported. For example:
 - shufflevectors
 - gather/scatter and interleaved accesses
 - target intrinsics
 - reductions
 - if-conversion or tail folding
DeltaFile
+293-0llvm/test/Transforms/LoopVectorize/revec-select.ll
+119-0llvm/test/Transforms/LoopVectorize/revec-memory-gather-scatter.ll
+103-0llvm/test/Transforms/LoopVectorize/revec-predication.ll
+99-0llvm/test/Transforms/LoopVectorize/revec-unroll.ll
+90-0llvm/test/Transforms/LoopVectorize/revec-memory-contiguous.ll
+90-0llvm/test/Transforms/LoopVectorize/revec-memory-interleaved.ll
+794-016 files not shown
+1,316-4322 files

LLVM/project c1d2834 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 vector-interleaved-store-i16-stride-8.ll vector-interleaved-store-i32-stride-8.ll

[X86] concatSubVectors helper - use POISON as INSERT_SUBVECTOR base instead of UNDEF (#230427)

First tentative attempt at UNDEF cleanup
DeltaFile
+32-32llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
+16-16llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
+3-3llvm/lib/Target/X86/X86ISelLowering.cpp
+51-513 files

FreeNAS/freenas be42e85 — src/middlewared/middlewared main.py job.py, src/middlewared/middlewared/plugins/test secret.py

Correctly handle jobs with secrets results
DeltaFile
+100-0tests/api2/test_job_secret_result.py
+59-28src/middlewared/middlewared/job.py
+38-16src/middlewared/middlewared/main.py
+54-0src/middlewared/middlewared/plugins/test/secret.py
+29-1src/middlewared/middlewared/pytest/unit/utils/test_privilege.py
+23-0src/middlewared/middlewared/utils/privilege.py
+303-452 files not shown
+314-508 files

LLVM/project 8d4fc8f — lldb/packages/Python/lldbsuite/test/make Makefile.rules

[lldb][test] Don't strip debug info twice with SPLIT_DEBUG_SYMBOLS" (#228118)

With `SPLIT_DEBUG_SYMBOLS`, the Makefile rule writes the debug file
first and then rewrites the executable, so the executable ends up newer
than the debug file. The next make in the same build directory therefore
runs the rule again, on an executable that has already been stripped,
and the debug file is left with no debug info.

On Windows, `make` compares file times to the second, so this only
happens when the two steps cross a second boundary. In swiftlang, this
makes `TestSwiftSplitDebug` flaky on CI, where `check-lldb-swift`
rebuilds in `check-lldb`'s build directory.

The rule now touches the debug file last, so a second make does nothing.

rdar://188918828
DeltaFile
+8-0lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+8-01 files

LLVM/project 95346de — lldb/source/Expression DWARFExpression.cpp DWARFExpressionList.cpp, lldb/source/Symbol UnwindPlan.cpp

[lldb] Don't link DWARFUnit to print DWARF expressions
DeltaFile
+2-3lldb/source/Expression/DWARFExpressionList.cpp
+1-1lldb/source/Symbol/UnwindPlan.cpp
+1-1lldb/source/Expression/DWARFExpression.cpp
+4-53 files

LLVM/project 05af87a — lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp

[lldb] Create COFFObjectFile directly in ObjectFilePECOFF
DeltaFile
+4-10lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+4-101 files

LLVM/project b549a8f — llvm/include/llvm/DebugInfo/DWARF DWARFExpressionPrinter.h, llvm/lib/DebugInfo/DWARF DWARFExpressionPrinterImpl.h DWARFExpressionPrinterUnit.cpp

[DebugInfo] Print DWARF expressions without a DWARFUnit dependency
DeltaFile
+31-39llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
+57-0llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinterUnit.cpp
+40-0llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinterImpl.h
+26-0llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
+6-0llvm/include/llvm/DebugInfo/DWARF/DWARFExpressionPrinter.h
+1-0llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
+161-391 files not shown
+162-397 files

LLVM/project 3632e3c — llvm/lib/Object CMakeLists.txt SymbolicFile.cpp, llvm/utils/gn/secondary/llvm/lib/Object BUILD.gn

[Object] Move the createBinary/createObjectFile factories into their own file (#229795)

`Binary.cpp`, `SymbolicFile.cpp` and `ObjectFile.cpp` each define both
base class members and a factory that dispatches to every object file
format. Anything that uses one format, references the base class
constructors and vtables, so the linker loads all three members from the
static archive, and with them the factories' references to the ELF,
Mach-O, Wasm, XCOFF, TAPI and IR readers.

`--gc-sections` and `/OPT:REF` cannot help here: the newly loaded
members (BitcodeReader, the LLVMCore files) have dynamic initializers
for their `cl::opt` globals, which are GC roots.

This patch moves `createBinary`, `ObjectFile::createObjectFile` and
`SymbolicFile::createSymbolicFile` to `ObjectFactories.cpp`. No
functional change.

Together with https://github.com/llvm/llvm-project/pull/229798 and
https://github.com/llvm/llvm-project/pull/229817, this takes lldb-server
on Windows from 8.4 MB to 3.7 MB.
DeltaFile
+252-0llvm/lib/Object/ObjectFactory.cpp
+0-99llvm/lib/Object/Binary.cpp
+0-93llvm/lib/Object/ObjectFile.cpp
+0-76llvm/lib/Object/SymbolicFile.cpp
+1-0llvm/utils/gn/secondary/llvm/lib/Object/BUILD.gn
+1-0llvm/lib/Object/CMakeLists.txt
+254-2686 files

OPNSense/core 9c93e02 — src/opnsense/mvc/app/models/OPNsense/Interfaces NetworkInterface.php

interafces: PPP type validation fixes for new assignments

(cherry picked from commit abc4c69ce894c07f432d77f3a368662610f487be)
(cherry picked from commit c29bf7f70ae37b9a418a6f6e034dadbd5d12fb81)
DeltaFile
+4-9src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+4-91 files