[mlir][gpu] Enforce async keyword when parsing gpu.launch with results (#176570)
The `gpu.launch` parser attempts to add a null `asyncTokenType` to the
results list if a result is requested but the `async` keyword is
missing, leading to an assertion failure.
Explicitly verify that `asyncTokenType` is valid when
`parser.getNumResults() > 0`. Emit a diagnostic error if the `async`
keyword is missing instead of crashing.
Add a regression test to `mlir/test/Dialect/GPU/invalid.mlir`.
Fix: https://github.com/llvm/llvm-project/issues/176530
Set rematerialized MIs' reg operands to sentinel reg
Also removes a bunch of const specified on class members that prevents
std::sort from compiling on some configs.
[LV] Skip FindLast reductions in collectInLoopReductions.
FindLast in-loop reductions are not supported, similarly to FindLastIV
reductions. Skip them in collectInLoopReductions, to avoid a crash for
loops with FindLast reductions and in-loop reductions preferred.
[libc] Remove superfluous explicitly defaulted constructors (#177471)
Any user-defined constructor, even an `= default` one, is
incompatible with aggregate initialization in C++20.
The default constructor does not need to be declared at all in
these cases. It's implicit.
[StaticDataLayout] Temporarily undo diagnostic warning when the data access profile payload is not available (#177412)
Added a FIXME to add it back later after figuring out how to make it a
non-error like the PGO profile mismatch one.
InstCombine: Fold out nanless canonicalize pattern
Pattern match a wrapper around llvm.canonicalize which
weakens the semantics to not require quieting signaling
nans. Depending on the denormal mode and FP type, we can
either drop the pattern entirely or reduce it only to
a canonicalize call. I'm inventing this pattern to deal
with LLVM's lax canonicalization model in math library
code.
The math library code currently has explicit checks for
the denormal mode, and conditionally canonicalizes the
result if there is flushing. Semantically, this could be
directly replaced with a simple call to llvm.canonicalize,
but doing so would incur an additional cost when using
standard IEEE behavior. If we do not care about quieting
a signaling nan, this should be a no-op unless the denormal
mode may flush. This will allow replacement of the
conditional code with a zero cost abstraction utility
[17 lines not shown]
[clang] Add myself as an additional offloading driver maintainer (#177392)
I've worked in the offloading driver a decent amount both directly here
and in Intel's downstream forks and I feel I have the judgement to
consider the needs of the project overall as well as the bandwidth to
properly carry out the role.
Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
[LoopFusion] Optimize away Phi nodes that are sunk from the 2nd loop preheader (#176503)
Fixed issue #165087.
When we sink phis from the 2nd loop preheader to the exit block, we
optimize it a bit further, i.e., propagate the uses of each phi node with
its incoming value and optimize away the phis. Deleted `fixPHINodes()`
too because the phis are already optimized away and there is no point
processing `fixPHINodes()`.
[flang][cuda] Add support for derived-type component with managed/unified attributes (#177409)
Derived-type components that have the `ALLOCATABLE` or `POINTER`
attribute as well as the CUDA `MANAGED` or `UNIFIED` attribute need to
have a specific allocator index set in the descriptor so the allocation
is done correctly. Without this, the allocation is done in host memory
and will trigger illegal read or write if the component is used on the
device. The correct allocator index was set some time ago for the
`DEVICE` attribute but the `MANAGED` and `UNIFIED` attribute need the
same mechanism.
Since the `Component::Genre` has quite some room I opted to add specific
genre for allocatable and pointer with both managed or unified
attribute.
@klausler Let me know if you would prefer another solution. I was
thinking about a separate field but I wanted to avoid wasting some
bytes.
graphics/darktable: Add `llvm:build` after `compiler:*` in USES=
The move of `USES+=compiler:*` later in the file to be able to check
`${ARCH}` apparently triggered the following warning:
make: .../Mk/Uses/compiler.mk:86: warning: Command "/usr/local/llvm19/bin/clang --version" exited with status 127
make: .../Mk/Uses/compiler.mk:134: warning: Command "/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127
It looks like the order of `compiler:*` and `llvm:*` is important.
Moving the addition of `llvm:compiler` after `compiler:*` was added
conditionally fixes that warning.
PR: 292128
Reported by: Trond Endrestøl <Trond.Endrestol at ximalas.info>
Tested by: Trond Endrestøl <Trond.Endrestol at ximalas.info>,
Herbert J. Skuhra <herbert at gojira.at>
go126: update to 1.26rc2.
This release includes 6 security fixes following the security policy:
- archive/zip: denial of service when parsing arbitrary ZIP archives
archive/zip used a super-linear file name indexing algorithm that is invoked
the first time a file in an archive is opened. This can lead to a denial of
service when consuming a maliciously constructed ZIP archive.
Thanks to Thanks to Jakub Ciolek for reporting this issue.
This is CVE-2025-61728 and Go issue https://go.dev/issue/77102.
- net/http: memory exhaustion in Request.ParseForm
When parsing a URL-encoded form net/http may allocate an unexpected amount of
memory when provided a large number of key-value pairs. This can result in a
denial of service due to memory exhaustion.
[91 lines not shown]
Move Piotr Zegar to the inactive maintainers list (#176967)
While reaching out to folks for a maintainers list refresh, Piotr asked
to step down due to other commitments. Thank you for all your help!
AMDGPU: Avoid introducing illegal fminnum_ieee/fmaxnum_ieee (#177418)
Avoid introducing fminnum_ieee/fmaxnum_ieee on f16 if f16
is not legal. This avoids regressing minimum/maximum cases
in a future commit.
Pull up following revision(s) (requested by nia in ticket #1224):
usr.sbin/makefs/cd9660.c: revision 1.61
makefs: cd9660: Honour the -m option to set the maximum disc size.
PR port-i386/59889 i386 cd-rom iso for -current is overflowing 700MB limit