AMDGPU: Replace tgsplit subtarget feature with attribute
This is a per-entrypoint property and has a corresponding
assembler directive, so it should not be baked into the
subtarget. I couldn't find much documentation on what this
actually does, so the description isn't great.
Fixes #204149
Co-authored-by: Claude Opus 4.6 <noreply at anthropic.com>
Revert "[Object] Disable test on big endian (#205999)"
This reverts commit f6cc23dda19d5e0aab0a8946e6e9242992428b4e.
The compressed offload bundle header is now serialized and parsed as
little-endian regardless of host endianness (see the parent commit), so
fatbin-coff-compress.test no longer needs the host-byteorder-little-endian
guard and can run on big-endian hosts again.
[AMDGPU] Fold constant offsets into named barrier addresses
Allow isOffsetFoldingLegal to fold a constant offset into an LDS
named-barrier global, and include the node offset when materializing the
LDS address in LowerGlobalAddress. s_barrier_signal_var on a GEP'd named
barrier now selects the immediate form, matching a bare global and GlobalISel.
With object linking the offset folds into the relocation addend.
The barrier ID is derived from the address via (addr >> 4) & 0x3F, so a
byte offset that does not land on a 16-byte barrier boundary is still
valid: it simply selects the containing barrier. No alignment assertion
is needed, and such offsets must not crash the compiler (see the
misaligned test).
Change-Id: I639bc723eb001573585cc05d0ad19f2773054f21
Assisted-by: Cursor
[SBVec] Implement topDown/botUp vectorizers in unison
This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.
[Offload][NFC] Deduplicate CompressedOffloadBundle into llvm::object (#206741)
The compressed offload bundle (CCOB) format had two byte-for-byte
identical implementations: one in clang/lib/Driver/OffloadBundler.cpp
and the canonical one in llvm/lib/Object/OffloadBundle.cpp (already used
by llvm-objdump, comgr and others).
Remove the Clang-side copy (class declaration, compress/decompress/
tryParse, the RawCompressedBundleHeader union, getHeaderSize, the
formatWithCommas helper and the private timer group) and route the
driver through llvm::object::CompressedOffloadBundle, which is already
linked via the Object component.
The only API difference is the verbose-reporting channel (bool Verbose
vs. raw_ostream *VerboseStream); the driver now passes &llvm::errs()
when verbose output is requested, preserving the previous behavior.
No functional change intended.
Co-authored-by: mselehov <mselehov at amd.com>
evdev: use a prometheus-safe label for ev_sysctl_tree
Prometheus doesn't allow spaces, let's normalize this to what we use
elsewhere for consistency. The sysctl exporter could probably do this
itself, but let's decouple that from the immediate problem: matching the
label between the exported data and in-tree is nice for greppability.
PR: 296179
Reviewed by: asomers, wulf
Differential Revision: https://reviews.freebsd.org/D57966
[llvm] Add readobj call graph section flag to release notes (#206627)
llvm-readelf supports --call-graph-section which dumps the
experimental call graph section. Adding this to release notes.
[z/OS][Clang] Add wrapper headers to avoid macro name conflicts (#204472)
Some z/OS system headers define macros (e.g. __time, __math) that
conflict with user identifiers and break compilation. These wrappers include
the system headers and neutralize the problematic macros.
[CIR] Honor Direct coercion offset in callconv
A Direct classification with a coerced type assumed the coerced value
started at byte 0 of the original aggregate. On x86-64 SysV a 16-byte
record whose low eightbyte is NO_CLASS carries its live value in the high
eightbyte and is classified as getDirect(coerceType, offset=8); the
coercion path read and wrote the wrong eightbyte for that shape.
Add a directOffset to ArgClassification (with a getDirect(coerced, offset)
overload). emitCoercionToMemory now applies the offset to the coerced
(scalar) side of the slot via a u8 ptr_stride before the typed view, so the
aggregate side stays at offset 0 while the scalar is read from / written to
the right bytes. The offset is threaded through both emitCoercion overloads,
insertReturnCoercion, and the call-site and entry-block Direct arms. Offset
0 takes the original plain-bitcast path and is byte-identical to before.
The Test target parser gains an optional direct_offset key so cir-opt can
inject this classification; coerce-direct-offset.cir covers the offset-8
return and argument plus an offset-0 negative case.
www/nyxt: fix build on powerpc64le and possibly others
On powerpc64le (optimize debug) removes some optimizations that
by default remove dead code. Here in particular that dead code is also
incorrect and it causes:
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD tid=612698 "main thread" RUNNING
{1001AB051C}>:
COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "idna" "decode">
misc/py-paddlepaddle: fix build on non-amd64
1. powerpc64le needs -DNO_WARN_X86_INTRINSICS for x86 headers inclusion.
2. powerpc* need glog patch, same as the one in ports.
3. pkg-plist hardcodes filename for 15.1-STABLE on amd64, use a hack
for that.
audio/hts_engine-API: fix pkg-plist
pkg-plist hardcoded a framework-managed line:
@dir share/licenses/hts_engine-API-1.10
share/licenses/<pkg>/ is created automatically by the LICENSE
framework and must never be in pkg-plist.
Putting that line causes a packaging failure when DISABLE_LICENSES=yes
is set:
pkg-static: Unable to access .../share/licenses/hts_engine-API-1.10/: No such file or directory
mail/thunderbird: fix build on powerpc64le
Already fixed in upstream xsimd:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/.build/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:65:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/gfx/thebes/gfxAlphaRecovery.cpp:12:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/xsimd.hpp:63:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp:27:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/config/xsimd_arch.hpp:19:
In file included from /wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_all_registers.hpp:51:
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:61: error: cannot use 'long' with '__vector bool'
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:55: warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:52: error: cannot use 'long' with '__vector bool'
68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long);
| ^
/wrkdirs/usr/ports/mail/thunderbird/work/thunderbird-152.0/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:46: warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
[6 lines not shown]
www/firefox: fix build on powerpc64le
Already fixed in upstream xsimd:
In file included from /wrkdirs/usr/ports/www/firefox/work/.build/gfx/thebes/Unified_cpp_gfx_thebes0.cpp:65:
In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/gfx/thebes/gfxAlphaRecovery.cpp:12:
In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/xsimd.hpp:63:
In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp:27:
In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/config/xsimd_arch.hpp:19:
In file included from /wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/types/xsimd_all_registers.hpp:51:
/wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:61: error: cannot use 'long' with '__vector bool'
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:67:55: warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long);
| ^
/wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:52: error: cannot use 'long' with '__vector bool'
68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long);
| ^
/wrkdirs/usr/ports/www/firefox/work/firefox-152.0.2/third_party/xsimd/include/xsimd/types/xsimd_vsx_register.hpp:68:46: warning: use of 'long' with '__vector' is deprecated [-Wdeprecated]
[6 lines not shown]
[lldb][Windows] Relax Filecheck requirements in local-variables.cpp (#205574)
When using `lldb-server` on Windows, lldb's output gets mangled with
lldb-server's info prints. This causes the `local-variables.cpp` test to
fail.
Relax that test by switching from `CHECK-NEXT` to `CHECK-DAG` where the
prints are emitted.
This is an alternative to
https://github.com/llvm/llvm-project/pull/205572.
rdar://181035363
xmp: updated to 4.3.0
4.3.0 (20260508):
Changes by Alice Rowan:
- Support 24-bit and 32-bit output (requires libxmp 4.7.0+):
AHI, ALSA, BeOS/Haiku, CoreAudio, NetBSD, OSS, PulseAudio,
sndio, WinMM, AIFF, file, WAV.
- Use XMP_MAX_SRATE as the limit for -f instead of 48000
(requires libxmp 4.7.0+).
- Amiga: automatically expand stack via stack cookie (OS 4),
NewStackSwap (AROS), NewPPCStackSwap (MorphOS), or StackSwap
(Workbench 2.04+). This feature can be disabled by defining
XMP_NO_STACKSWAP at compile time.
- Report pan value "---" for instruments/samples without
a default panning value (sub->pan < 0).
- Don't unmute muted IT channels unless explicitly unmuted by
the -S/--solo option.
- Haiku: Fix configure C++ compiler detection if CXX variable
contains additional options.
[10 lines not shown]
libxmp: updated to 4.7.0
4.7.0 (20260225):
Changes by Alice Rowan:
- Increase maximum sampling rate (XMP_MAX_SRATE) to 768000.
This increases XMP_MAX_FRAMESIZE to 384000. The tick buffers are now
allocated using the player-provided rate instead of XMP_MAX_FRAMESIZE:
the frame info buffer may also be much smaller than XMP_MAX_FRAMESIZE.
In case of existing software misusing the old XMP_MAX_FRAMESIZE, the
minimum value for mixer_data->total_size is the old XMP_MAX_FRAMESIZE
for now.
- xmp_seek_time now always seeks (even if the position is the same
as the current position) and uses the start row detected by the scan.
- New function: xmp_seek_time_frame, which attempts to seek to the time
requested by the caller within frame precision. This is achieved by
using xmp_seek_time then repeatedly calling xmp_play_frame until the
*next* frame contains the caller-requested time. The caller can then
use xmp_play_frame/xmp_play_buffer to render the requested frame.
WARNING: this is more computationally expensive than xmp_seek_time.
[114 lines not shown]
rocksndiamonds: updated to 4.4.2.3
4.4.2.3
This patch release fixes some bugs and improves some Diamond Caves related stuff:
added checkbox to use optional EM/DC style player explosions
changed killing player not before, but after digging land mine
fixed highlighting player name after editing on names screen
fixed a few potential string buffer overflow problems