[AMDGPU][test] Use mir test for regalloc issue (#197363)
Use the newly introduced split-from flag to produce a more robust test
case for the hoistSpillInsideBB live-range update issue.
NFC
[X86] combineToHorizontalAddSub - use PostShuffleMask to determine undemanded subvectors (#207789)
For cases where the middle-end has created a 256-bit HADD/SUB pattern
with unused upper 128-bit subvectors, use the PostShuffleMask undefined
ranges to remove any unused 128-bit HADD/SUB ops.
[flang][cuda] Recognize on_device() by its Fortran leaf name in CUFFunctionRewrite (#207298)
CUFFunctionRewrite folds on_device() to a compile-time constant: true
inside a gpu.module (device), false on the host. Match on the callee's
Fortran leaf name, recovered independently of the external name-mangling
convention and of where the pass runs in the pipeline.
[LowerBufferFatPointers] Correctly handle alignment modes (#134329)
Previously, AMDGPULowerBufferFatPointers would emit unaligned buffer
loads/stores, even when such unaligned accesses were disabled (that is,
on non-HSA platforms).
In addition, the lowering did not respect the newly-added
amdgpu.buffer.oob.mode module flag, which now must be enabled in order
to vectorize unaligned loads from buffers.
This commit fixes both issues and adds tests.
ValueTracking: Improve frexp known range from dominating conditions (#206927)
Try to restrict the known range of the exponent result of llvm.frexp
based on dominating conditions. Identify comparisons that imply the
incoming value cannot introduce an overflow in a downstream ldexp
use. This pattern appears in the implementation of some complex math
functions and allows finite only math to prune out more edge case
paths.
One attributor test for ldexp regresses due to the switch from
computeKnownBits to computeConstantRange. computeConstantRange
does not try to handle non-splat vector constants for the binary
operators.
As a side effect, this also improves knowing that ldexp can't
introduce overflow for the 0 case.
[docs][AMDGPU] Document amdgpu.buffer.oob.mode more, especially on fat pointers (#134734)
This commit expands the documentation of the amdgpu.buffer.oob.mode so
that fat buffer pointer users are more aware of its effects.
foot: update to 1.27.0
1.27.0
* url.style=none|single|double|curly|dotted|dashed option added,
allowing you to configure how URL underlines are drawn. The default
is dotted.
* URL underlines are now dotted by default, instead of plain
underlines. This can be changed with the new url.style option.
* If the cursor foreground and background colors are identical, use
the current cell's foreground and background colors (inverted),
instead of the default foreground and background colors.
Fixed:
* Other output (key presses, query replies etc) being mixed with paste
data, both interactive pastes and OSC-52.
* Scrollback search not working correctly when the terminal
application has enabled the kitty keyboard protocol with release
event reporting.
[4 lines not shown]
libepoll-shim: add builtin.mk to skip on Linux
libepoll-shim is required for systems that have kqueue but not epoll.
Linux does have epoll, so it is (a) unnecessary and (b) doesn't build.
The detection logic is currently hardcoded to Linux only; I suppose it
could be improved further.
[lldb] Move RegisterInfo and RegisterSet into their own header (#207286)
RegisterInfo holds onto a pointer to RegisterFlags which is in
lldbUtility. My understanding of lldb-private-types is that it contains
types used throughout LLDB but should generally stand on their own (i.e.
without dependencies on specific lldb types and headers). Thus I am
moving it to lldbUtility.
RegisterSet _does_ stand on its own but it is pretty strongly coupled to
RegisterInfo.
lcov: update to 2.5.
Changes from previous release:
add support for --unreachable-script callback - to filter unreachable branch and MC/DC expressions
update llvm2lcov to support llvm/22
generate man and HTML format documentation from RST.
various bug fixes and test coverage improvements
[libc] Implement fdopendir (#206590)
The fdopendir function takes a file descriptor opened on a directory,
then opens a DIR* on it.
Needed for #191075
Assisted-by: Automated tooling, human reviewed.
Skip loop checks for unselectable metadirective variants
A loop-associated METADIRECTIVE variant is only checked when it might be
selected on the compilation target. The static-applicability gate matched
device and implementation selectors, but it ignored two cases that make a
variant unselectable on any target:
- a user condition that folds to a compile-time false, and
- an unknown device or implementation property.
Such a variant still had its associated loop diagnosed even though it can
never be selected, so a valid program was rejected. Skip these variants in
the default match-all mode, where the impossible trait is decisive. The
match_any and match_none modes tolerate the trait, so they keep deferring
to context matching.
Assisted with Copilot.
[libc++] Don't install custom Python on self-hosted macOS runners (#207794)
That shouldn't be necessary, since they already come with Python 3, and
it doesn't work anyway because it requires special setup that the macOS
runners don't currently perform.
[libc] Add Q length modifier to support float128 conversions in printf (#203077)
The spelling follows an existing pattern in e.g. libquadmath for format
printing `__float128` values.
A flag is added to disable float128 conversions and the "Q" length
modifier.
games/battletanks: allow to build against any supported Lua version
Drop CXXFLAGS+=-fpermissive while here which seems no longer needed
and sort the `pkg-plist' after commit 2d8f9fb62e9e.