LLVM/project 840cc16mlir/include/mlir/Bindings/Python IRCore.h, mlir/lib/Bindings/Python IRCore.cpp MainModule.cpp

[MLIR] [Python] a few more fixes to type annotaitons (#186106)

* `_OperationBase.walk` was missing a default.
* `MLIRError` is now fully defined in C++. The monkey-patching
previously done in `_site_initialize` was opaque to type checkers.
DeltaFile
+73-1mlir/lib/Bindings/Python/IRCore.cpp
+0-34mlir/python/mlir/_mlir_libs/__init__.py
+0-14mlir/lib/Bindings/Python/MainModule.cpp
+8-2mlir/include/mlir/Bindings/Python/IRCore.h
+81-514 files

LLVM/project c71e488mlir/include/mlir/Dialect/SPIRV/IR SPIRVTosaOps.td, mlir/test/Dialect/SPIRV/IR tosa-ops-verification.mlir tosa-ops.mlir

[mlir][spirv] Add last 6 elementwise unary ops in TOSA Ext Inst Set (#186060)

This patch introduces the following elementwise unary operators:

spirv.Tosa.Log
spirv.Tosa.LogicalNot
spirv.Tosa.Negate
spirv.Tosa.Reciprocal
spirv.Tosa.Rsqrt
spirv.Tosa.Sin

Also dialect and serialization round-trip tests have been added.

Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
DeltaFile
+145-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
+137-0mlir/test/Target/SPIRV/tosa-ops.mlir
+110-0mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
+81-0mlir/test/Dialect/SPIRV/IR/tosa-ops.mlir
+473-04 files

LLVM/project 7ee4f09llvm/test/CodeGen/AMDGPU memset-pattern.ll

Use inreg for AS7 pointer arguments to make them wave-uniform
DeltaFile
+296-1,007llvm/test/CodeGen/AMDGPU/memset-pattern.ll
+296-1,0071 files

LLVM/project ef7b234clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/lib/CIR/CodeGen CIRGenExprCXX.cpp

[CIR] Add support for null checks with operator delete (#185987)

This implements a check for null pointers when processing operator
delete. This is especially important now that we have implemented array
delete because we need to read from the pointer location in that case.
DeltaFile
+67-12clang/test/CIR/CodeGen/delete.cpp
+60-18clang/test/CIR/CodeGen/delete-array.cpp
+14-8clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+5-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+146-384 files

NetBSD/pkgsrc cLOYgIBtextproc/rumdl Makefile

   textproc/rumdl: correct first version that requires 1.94
VersionDeltaFile
1.19+2-2textproc/rumdl/Makefile
+2-21 files

LLVM/project 4f2dea8openmp/tools/omptest CMakeLists.txt

[OpenMP][OMPT] Remove Threads dependency from omptest link interface (#186183)

Link against Threads using PRIVATE scope, instead of PUBLIC.
Reason: it imposes a transitive dependency on library users.

If Threads could not be found this could cause a link error.
The issue would manifest, if omptest is used via find_package.

Addresses issues with previous PR
https://github.com/llvm/llvm-project/pull/185930
DeltaFile
+3-2openmp/tools/omptest/CMakeLists.txt
+3-21 files

LLVM/project 77f6270flang/test/Lower/Intrinsics get_environment_variable.f90 get_command_argument.f90

[flang][NFC] Converted five tests from old lowering to new lowering (part 30) (#186000)

Tests converted from test/Lower/Intrinsics: get_command.f90,
get_command_argument-optional.f90, get_command_argument.f90,
get_environment_variable-optional.f90, get_environment_variable.f90
DeltaFile
+188-178flang/test/Lower/Intrinsics/get_environment_variable.f90
+62-64flang/test/Lower/Intrinsics/get_command_argument.f90
+71-53flang/test/Lower/Intrinsics/get_command.f90
+37-36flang/test/Lower/Intrinsics/get_environment_variable-optional.f90
+10-13flang/test/Lower/Intrinsics/get_command_argument-optional.f90
+368-3445 files

FreeBSD/ports f74d5e1x11-wm/mango Makefile, x11-wm/mango/files patch-meson.build pkg-message.in

MOVED: x11-wm/mangowc renamed upstream
DeltaFile
+0-60x11-wm/mangowc/Makefile
+60-0x11-wm/mango/Makefile
+0-30x11-wm/mangowc/files/patch-meson.build
+30-0x11-wm/mango/files/patch-meson.build
+0-20x11-wm/mangowc/files/pkg-message.in
+20-0x11-wm/mango/files/pkg-message.in
+110-1108 files not shown
+148-14714 files

LLVM/project 3edd5a9mlir/include/mlir-c BuiltinAttributes.h, mlir/lib/CAPI/IR BuiltinAttributes.cpp

[NFC] Fix typo in CAPI (#185973)

Fixed typo in https://github.com/llvm/llvm-project/pull/83992
Changed function names `Disctinct` -> `Distinct`
DeltaFile
+3-3mlir/test/CAPI/llvm.c
+2-2mlir/include/mlir-c/BuiltinAttributes.h
+1-1mlir/test/CAPI/ir.c
+1-1mlir/lib/CAPI/IR/BuiltinAttributes.cpp
+7-74 files

LLVM/project cb4373aflang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics check-omp-loop.cpp openmp-utils.cpp

Correct merge issues
DeltaFile
+3-38flang/lib/Semantics/check-omp-loop.cpp
+3-7flang/lib/Semantics/openmp-utils.cpp
+1-0flang/include/flang/Semantics/openmp-utils.h
+7-453 files

LLVM/project 5395675llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel inst-select-insert.mir legalize-extract.mir

AMDGPU/GlobalISel: Lower G_EXTRACT/INSERT in legalizer (#181036)

Lower G_EXTRACT/INSERT in legalizer by using custom lowering for simple
32-bit aligned cases and calling generic extract/insert lowering for all
other cases.
DeltaFile
+0-528llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-insert.mir
+444-44llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract.mir
+361-92llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert.mir
+0-199llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-extract.mir
+0-187llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-insert.mir
+113-29llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+918-1,07918 files not shown
+1,156-1,34124 files

LLVM/project aa4bd22mlir/utils/pygments README.md mlir_lexer.py

[mlir][pygments] add mkdocs instructions and `_all_` addition (#181978)

Pygments requires __all__ to be defined in lexer modules that are
discovered via the LEXERS entry-point mapping. Without it, importing
the lexer through Pygments' standard plugin machinery fails silently.

This also adds brief usage instructions for integrating the lexer
into documentation pipelines.
DeltaFile
+37-1mlir/utils/pygments/README.md
+2-0mlir/utils/pygments/mlir_lexer.py
+39-12 files

OpenBSD/ports C0oDjVUsysutils/exfetch distinfo Makefile

   sysutils/exfetch: update to 1.5.3

   From izzy Meyer (maintainer)
   ok tb@
VersionDeltaFile
1.5+2-2sysutils/exfetch/distinfo
1.5+1-1sysutils/exfetch/Makefile
+3-32 files

LLVM/project fde7464llvm/test/Transforms/LoopVectorize/AArch64 transform-narrow-interleave-to-widen-memory-scalable.ll

[LV] Add tests for incorrect narrowing of IGs with scalable vectors.

Add test coverage for mis-compile in https://github.com/llvm/llvm-project/issues/185860.

Currently a wide load gets incorrectly narrowed to a single-scalar one
with scalable VFs, which only loads one element instead of the needed
vscale elements.
DeltaFile
+128-0llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-scalable.ll
+128-01 files

OpenZFS/src 2b930f6config user-statx.m4

config: fix STATX_MNT_ID detection

statx(2) requires _GNU_SOURCE to be defined in order for sys/stat.h to
produce a definition for struct statx and the STATX_* defines. We get
that at compile time because we pass -D_GNU_SOURCE through to
everything, but in the configure check we aren't setting _GNU_SOURCE, so
we don't find STATX_MNT_ID, and so don't set HAVE_STATX_MNT_ID.

(This was fine before ccf5a8a6fc, because linux/stat.h does not require
_GNU_SOURCE).

Simple fix: in the check, define _GNU_SOURCE before including
sys/stat.h.

Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza <ahamza at ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at truenas.com>
Closes #18312
DeltaFile
+1-0config/user-statx.m4
+1-01 files

LLVM/project 519a25cclang/docs ReleaseNotes.rst, clang/lib/Lex Lexer.cpp

[clang] Fix alias declaration fix-it location for token-split '>>' (#184555)

Fixes #184425

When parsing an alias declaration like:

```c++
using A = X<int>>;
```

clang splits `>>` into two `>` tokens while parsing templates. In this
token-split case, `Lexer::getLocForEndOfToken` was advancing past the
already-correct expansion end location, which moved the fix-it insertion
point too far right (at `;` instead of before the second `>`).

This patch detects token-split expansion ranges and returns the
expansion end location directly after `isAtEndOfMacroExpansion`,
avoiding the extra token-length advance.


    [7 lines not shown]
DeltaFile
+8-0clang/lib/Lex/Lexer.cpp
+7-0clang/test/Parser/cxx-alias-decl-split-angle-fixit.cpp
+4-0clang/docs/ReleaseNotes.rst
+0-2clang/test/Parser/cxx0x-decl.cpp
+19-24 files

LLVM/project dd566ccllvm/lib/Target/SystemZ SystemZMachineScheduler.cpp

[SystemZ] Drop assertion against preg-def in definesCmp0Src(). (#186177)

This assertion was some kind of sanity check that there are no physreg
defining instructions between a compare with zero and the instruction
defining the compared value. This is the expected generally with calls
as they clobber CC and their outgoing preg definitions should always end
up just above the call, below any compare with zero.

However, with an inline asm that does not clobber CC this could actually
happen. As biasPhysRegExtra() will now handle any such preg def it seems
this assertion isn't that useful anymore.
DeltaFile
+0-1llvm/lib/Target/SystemZ/SystemZMachineScheduler.cpp
+0-11 files

OpenBSD/ports mSHKagjsysutils/logstash distinfo Makefile, sysutils/logstash/pkg PLIST

   Update logstash 9.2.4 -> 9.3.1
   Release notes: https://www.elastic.co/docs/release-notes/logstash
VersionDeltaFile
1.61+3,608-3,671sysutils/logstash/pkg/PLIST
1.57+2-2sysutils/logstash/distinfo
1.75+1-1sysutils/logstash/Makefile
+3,611-3,6743 files

LLVM/project bf85f52clang/include/clang/Basic BuiltinsPPC.def, clang/test/CodeGen/PowerPC builtins-ppc-dmf.c ppc-dmf-mma-builtin-err.c

[PowerPC] Update dmr builtin names (#183160)

Remove `_mma` from the following built-ins as they are not related to
MMA:

* __builtin_mma_dmsetdmrz
* __builtin_mma_dmmr
* __builtin_mma_dmxor
* __builtin_mma_build_dmr
* __builtin_mma_disassemble_dmr

AI Assisted.
DeltaFile
+14-14llvm/test/CodeGen/PowerPC/dmr-enable.ll
+13-13clang/test/CodeGen/PowerPC/builtins-ppc-dmf.c
+10-10clang/test/CodeGen/PowerPC/ppc-dmf-mma-builtin-err.c
+8-8llvm/test/CodeGen/PowerPC/dmr-copy.ll
+5-5clang/include/clang/Basic/BuiltinsPPC.def
+5-5llvm/include/llvm/IR/IntrinsicsPowerPC.td
+55-554 files not shown
+65-6510 files

LLVM/project 8d37ed1llvm/lib/Target/ARM ARMISelLowering.cpp

[ARM] Extract code for forming CSINV etc (NFC)
DeltaFile
+56-42llvm/lib/Target/ARM/ARMISelLowering.cpp
+56-421 files

LLVM/project 595b961clang/lib/CodeGen CGBuiltin.cpp CGBuiltin.h, clang/lib/CodeGen/TargetBuiltins NVPTX.cpp

[CUDA] Use monotonic ordering for __nvvm_atom* builtins (#185822)

CUDA's __nvvm_atom* builtins are expected to produce atomic operations
with relaxed ordering. However, Clang lowered tham as atomicrmw and cmpxchg
with the default seq_cst ordering. That mismatch went unnoticed because
until recently NVPTX back end was unable to lower all atomic instructions correctly,
and despite using `cst_seq` ordering in IR we ended up generating the intended
PTX instructions with relaxed ordering, It worked well enough until
https://github.com/llvm/llvm-project/pull/179553 implemented correct NVPTX
atomic lowering.
That, in turn, caused severe performance regression for the code that
relied on these builtins.

Thanks to @akshayrdeodhar for figuring out what happened.

Switching __nvvm_atom* builtins to generate atomic instructions with
monotonic ordering matches the expected semantics of the builtins,
and restores performance of the generated code.

See:
https://github.com/llvm/llvm-project/pull/179553#issuecomment-4035193968
DeltaFile
+37-37clang/test/CodeGen/builtins-nvptx.c
+28-14clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
+10-5clang/lib/CodeGen/CGBuiltin.cpp
+3-2clang/lib/CodeGen/CGBuiltin.h
+1-1clang/test/CodeGen/builtins-nvptx-ptx50.cu
+79-595 files

LLVM/project 40fca74llvm/lib/Transforms/Scalar LoopUnrollPass.cpp, llvm/test/Transforms/LoopUnroll debug.ll full-unroll-avoid-partial.ll

[LoopUnrollPass] Trace loop unroll count heuristics with `LLVM_DEBUG` (#182981)
DeltaFile
+734-21llvm/test/Transforms/LoopUnroll/debug.ll
+145-38llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+41-9llvm/test/Transforms/LoopUnroll/full-unroll-avoid-partial.ll
+7-7llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
+2-2llvm/test/Transforms/LoopUnroll/guard-cost-for-unrolling.ll
+929-775 files

LLVM/project 6959c21libc/AOR_v20.02/math/test/rtest dotest.c, libc/AOR_v20.02/math/test/traces sincosf.txt exp.txt

Merge branch 'users/kparzysz/e09-affected-loops' into users/kparzysz/e10-check-depth
DeltaFile
+0-31,999libc/AOR_v20.02/math/test/traces/sincosf.txt
+0-16,000libc/AOR_v20.02/math/test/traces/exp.txt
+853-1,663llvm/test/CodeGen/AArch64/clmul-fixed.ll
+927-1,424llvm/test/tools/dsymutil/AArch64/stmt-seq-macho.test
+706-1,470llvm/test/CodeGen/X86/funnel-shift-i512.ll
+0-2,168libc/AOR_v20.02/math/test/rtest/dotest.c
+2,486-54,7242,874 files not shown
+114,478-116,9162,880 files

OpenBSD/ports knJpt9wdevel Makefile

   +jupyter-console
VersionDeltaFile
1.2570+1-0devel/Makefile
+1-01 files

OpenBSD/ports MUZZFj6devel/jupyter-console Makefile distinfo, devel/jupyter-console/pkg PLIST DESCR

   import ports/devel/jupyter-console, ok tb@

   A terminal-based console frontend for Jupyter kernels. This code is
   based on the single-process IPython terminal.
VersionDeltaFile
1.1+51-0devel/jupyter-console/pkg/PLIST
1.1+31-0devel/jupyter-console/Makefile
1.1+2-0devel/jupyter-console/pkg/DESCR
1.1+2-0devel/jupyter-console/distinfo
1.1.1.1+0-0devel/jupyter-console/pkg/PLIST
1.1.1.1+0-0devel/jupyter-console/Makefile
+86-02 files not shown
+86-08 files

LLVM/project 3f65a03lldb/source/Plugins/Process/FreeBSD-Kernel-Core RegisterContextFreeBSDKernelCore_arm.cpp RegisterContextFreeBSDKernelCore_arm64.cpp

[lldb][Process/FreeBSDKernelCore] Add assertion for pcb (#183969)

pcb layout is not stable yet so it can be changed anytime on FreeBSD
side. Changes to pcb might not be reflected to FreeBSD source tree or
upstream LLDB possibly because the developer forgot to do so, which
breaks kernel debugging functionality. This patch adds assertion thus
LLDB cannot be built if its expected pcb layout doesn't match the real
one. This assertion is only enabled when the build machine architecture
matches `RegisterContextFreeBSDKernelCore_<arch>`.

Due to identifier conflict, I had to lower PCB_FP and PCB_LR.

---------

Signed-off-by: Minsoo Choo <minsoochoo0122 at proton.me>
DeltaFile
+32-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm.cpp
+21-4lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_arm64.cpp
+16-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_x86_64.cpp
+14-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_i386.cpp
+14-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_ppc64le.cpp
+13-0lldb/source/Plugins/Process/FreeBSD-Kernel-Core/RegisterContextFreeBSDKernelCore_riscv64.cpp
+110-46 files

FreeBSD/src c0462c2sys/netinet/tcp_stacks sack_filter.c

tcp: make sack_filter.c compilable without _WANT_TCPCB

This file can be compiled as a standalone program for debugging purposes.
Achieve that without exposing hack from tcp_var.h that is destined for
removal.
DeltaFile
+15-14sys/netinet/tcp_stacks/sack_filter.c
+15-141 files

FreeBSD/src 815ef05sys/netinet tcp_var.h in_pcb.h, sys/netinet/cc cc.h

netinet: remove _WANT_INPCB and _WANT_TCPCB

These were hacks since FreeBSD 12 that provided some transition period for
utilities to migrate from reading kernel memory via kvm(3) to sysctl(3)
based APIs.  The transition period is over.
DeltaFile
+4-4sys/netinet/cc/cc.h
+2-2sys/netinet/tcp_var.h
+1-1sys/netinet/in_pcb.h
+7-73 files

FreeBSD/src 985ac74usr.bin/systat netstat.c systat.h

systat: remove kvm(3) support for -netstat mode

The kvm(3) mode was actually non-functional since FreeBSD 8 for kernels
with VIMAGE, since FreeBSD 12 for the GENERIC kernel and since FreeBSD 14
for all kernels.  The reason for that is that systat(1) tried to lookup
symbol "tcb" to check if kvm(3) is working.  The symbol no longer exist in
the kernel.

A side effect was that systat(1) lost true kvm(3) support for all other
modes, e.g. -swap or -pigs.  The tool was still working, but libkvm was
just a shim to sysctl(3) API.

So, contrary to what the header line says, this change actually restores
the kvm(3) support for other modes.  Now we read the "allproc" symbol.

This was the last tool that abused _WANT_INPCB.
DeltaFile
+11-121usr.bin/systat/netstat.c
+0-11usr.bin/systat/systat.h
+3-2usr.bin/systat/main.c
+0-2usr.bin/systat/extern.h
+14-1364 files

FreeBSD/src a68e3a8sys/net pfvar.h, sys/sys systm.h

systm.h: don't declare socket and inpcb globally
DeltaFile
+0-2sys/sys/systm.h
+1-0sys/net/pfvar.h
+1-22 files