[VPlan] Strip VPWidenSelectSC from VPRecipeTy (NFC) (#176722)
WidenSelect has been removed in 16830b2 ([VPlan] Remove
VPWidenSelectRecipe, use VPWidenRecipe instead, #174234).
[mlir][math] Fix the semantics of math.clampf (#175012)
The `math.clampf` op is semantically incorrect when compared to both the
CUDA reference implementation and the SPIRV spec, both of which have a
clamp op.
- Fix the definition of `math.clampf` to agree with CUDA and SPIRV
- Explicitly state when `math.clampf` produces `ub.poison`
- Update the ExpandOps pass to reflect the corrected semantics
[lldb] add a marker before hidden frames (#167550)
**This patch adds a marker to make hidden frames more explicit.**
---
Hidden frames can be confusing for some users, who see that the indexes
of the frames in a backtrace are not contiguous. This patch aims to
lessen the confusion by adding a delimiter for the first and last non
hidden frame, i.e the boundaries.
IDE's like Xcode and VSCode represent those in the UI by having the
hidden frames either greyed out or collapsed.
It's not possible to do this in the CLI, therefore, this patch makes use
of 2 unicode characters to mark the beginning and end of the hidden
frames range.
This patch depends on:
[19 lines not shown]
[SCCP] Correct range calculation for get.vector.length to use getUnsignedMax instead of getUpper. (#176493)
getUpper returns 1 more than the maxium value included in the range.
This may be 0. We should not use this in a umin. Instead we should
get the maximum value included in the range and use that for the umin.
Then convert that to Upper for the new range by adding 1.
The test was manually reduced from a downstream failure, but I couldn't
get it behave exactly the same way without more instructions. It should
be enough to show an incorrect range being calculated.
Fixes #176471
(cherry picked from commit e8a0b40d6c4c36329fb4ff66a0aa5fee40a3d4df)
workflows/release-binaries: Fix attestation artifact name (#176417)
We were contructing the attestation artifact name using the arch and the
OS of the current runner instead of using the runner that the builds
were done on. This led to a conflict in artifact names between all the
release binary jobs.
(cherry picked from commit 38be580aeef2fe3adf50b24854f39dad4a45c283)
[SelectionDAG] Add TRUNCATE_SSAT_S/U and TRUNCATE_USAT_U to canCreateUndefOrPoison and computeKnownBits (#152143) (#168809)
1. Implement `SelectionDAG::computeKnownBits` for TRUNCATE_SSAT_S/U and
TRUNCATE_USAT_U
2. Saturating truncation operations are well-defined for all inputs and
cannot create poison or undef values. This allows the optimizer to
eliminate unnecessary freeze instructions after these operations.
Fixes #152143
devel/tcl-thread: unifiy tcl8-thread and tcl9-thread
Version 3.0.4 of the Thread extension supports both Tcl8 and Tcl9. Get rid of the version-specific ports.
Make sure that driver-provided __CUDA_ARCH_LIST__ can be overridden by user-supplied arguments. (#176301)
(cherry picked from commit 8dd848e7ae8774c64368934e2a821a2a7adc823c)
[OpenMP] Fix truncation/extension bug when calling __kmpc_push_num_teams (#173067)
This PR fixes a bug when the lower and upper bound for the number of
teams was not an `int32`, but a different type. In this case, an
internal compiler would trigger due to a mismatching call to
`__kmpc_push_num_teams`.
[AMDGPU] Enable ISD::{FSIN,FCOS} custom lowering to work on v2f16
Currently ISD::FSIN and ISD::FCOS of type MVT::v2f16 are legalized by
first expanding and then using a custom lowering on the resulting f16
instructions. This ordering prevents using packed math variants of the
instructions introduced by the legalization (e.g. the multiplication),
if available, and makes it difficult to eliminate the packing of the
results by using SDWA form; previous attempts to deal with the latter
situation in the si-peephole-sdwa pass were unwieldly since it was
necessary to reconstruct the association between the source and target
vectors.
Change the legalization action for ISD::FSIN and ISD::FCOS of type
MTF::v2f16 to Custom and change the custom intrinsic lowering to deal
with the v2f16 for the intrinsics introduced in this way.
[InstCombine] Fix crash on large integers in visitShl
Do not call getExtendedType without first checking if the type can be extended.
Solves SWDEV-547672
[-Wunsafe-buffer-usage] Separate flag for format-attributed functions (#175749)
PR #173096 extended -Wunsafe-buffer-usage-in-libc-call to apply to all
functions with the 'format' attribute.
This change moves those warnings behind a separate
-Wunsafe-buffer-usage-in-format-attr-call flag (implicitly enabled by
-Wunsafe-buffer-usage), allowing projects to decide whether they want to
opt in to this or not.
[clang] Fix options handling in ClangExtDefMapGen.cpp (#176116)
Also, remove some unused includes.
Fixes https://github.com/llvm/llvm-project/issues/176118
Now, running `clang-extdef-mapping` with no options results in the
following error message:
```sh
error: clang-extdef-mapping: Not enough positional command line arguments specified!
Must specify at least 1 positional argument: See: ./build/Debug/bin/clang-extdef-mapping --help
```
(cherry picked from commit 0a26d907ceec0a64596d334848fa7ec8b163a59e)
idr.9: Reorder the idr_alloc() description to read more logical
Move the idr_alloc() description to between idr_destroy() and idr_find()
so the whole description reads more logic.
Noted-by: mneumann