[Offload][OMP] Pass native device binary to device_load OMPT callback (#232478)
According to the specification and input from tool authors, OMPT tools
expect information about native device binary while invoking the
`device_load` OMPT callback function.
[libc++] Bump the LNT machines to the latest version of the test suite (#232895)
Since we are starting from an empty LNT v5 instance, this is a good time
to bump everything.
[RISCV][P-ext] Remove custom lowering of insert_subvector for v2i16/v4i8 on RV64.
This was for handling inserting into a zero vector. After #232892
we let the insert_subvector legalize to a shuffle_vector which we
can then lower as pack.
This changes the codegen from zext.w to pack, but that's not
necessarily worse. If it turns out to be a problem we can
canonicalize pack with zero with a DAGCombine or isel patterns in
the future.
[libc][math] Fix code size issues with sinf and cosf. (#232843)
- Add missing "optimization.h" includes from sinf, cosf and sinf_test.
- Move function-local arrays out to namespace.
[scudo] Mark functions/classes as test only. (#231737)
A few functions/classes should be test only to indicate they should not
be used in normal code.
Specifically, isOwned to isOwnedTestOnly and the class
ScopedDisableMemoryTagChecks to ScopedTestOnlyDisableMemoryTagChecks.
Modify the iterateOverChunks function to avoid using the test class and
clean up the function a bit.
[CodeGen] Drop dead SlotIndexes before allocation
SlotIndexes keeps the index list entry of an erased instruction and only
clears its instruction pointer. Live range sizes are measured in slot
indexes and greedy ranks ranges by size, so the leftovers inflate some
ranges more than others and reorder allocation, spilling heavily on
register-starved functions.
Add SlotIndexes::compactIndexes() to erase them. Erased entries are
unlinked, so LiveIntervals first reports the indexes it holds via
appendReferencedIndexes().
Off by default behind -greedy-compact-slot-indexes, since it changes
allocation across much of the test suite.
[libc++] Switch the libc++ benchmark pipelines to LNT v5 (#232888)
Since lnt.llvm.org is now running LNT v5, switch the benchmark pipelines
over to it. Note that we hardcode the submission URL now because
submitting requires an API key, so allowing the submission workflows to
submit to another instance would allow leaking that token.
[bazel][libc] Add missing type_traits dep to nearest_integer (#232868)
88fd7f873e30 added an include of src/__support/CPP/type_traits.h to
nearest_integer.h without the matching Bazel dep, so the layering check
fails for every target that reaches it.
[RISCV] Call tryWidenMaskForShuffle at the end of P extension shuffle lowering.
If the shuffle mask has contiguous elements we can try shuffling
them using a large element type.
[OpenMP] follow-up on strict fence SPMDization (#232873)
Summary:
Address some late comments. Autogenerates tests, fix up function usage.
Main behavior of the change is that the SPMDization no longer breaks the
happens-before relationship a fence provided. I.e. cannot move loads or
stores past a barrier stronger than the one inserted by the pass itself.
[mlir] Report block argument removal from runRegionDCE (#232211)
runRegionDCE reports whether it changed the IR, but deleteDeadness did not include
dead non-entry block arguments in its change flag.
This caused GreedyPatternRewriteDriver to not report a change even when DCE happened.
Assisted-by: gpt 6 sol
[flang][OpenMP] Move CanonicalizationOfOmp member definitions out of … (#232872)
…class
Keep only declarations (and the trivial constructor) in the class, and
define each member function out of line after the class. Each function's
leading comment moves with its implementation. No functional change.
Co-authored-by: Claude Opus 4 (1M context) <noreply at anthropic.com>
[lldb] Add target groups for related targets (#229180)
## Summary
- introduce first-class `TargetGroup` objects
- represent each group member as `{TargetWP, TargetGroup::Role}`, with
one extensible role per target
- use synchronized `TargetGroupList` collections for the debugger
registry and per-target memberships
- add `target groups list` for inspecting groups and member roles
This contains the generic target-group model discussed in review.
Accelerator integration and public SB APIs can follow separately after
the initial foundation is landed.
## Testing
added target group tests.
[Support] Add isCharacter, isControl functions (#231223)
This adds functions for determining whether a code point is an assigned
character, and for determining whether a code point is a control
character, based on the Unicode standard.
[NFC][DirectX][SPIRV] Clang-format intrinsic definition files (#231647)
Formatted the intrinsic definition files for DirectX and SPIR-V with
clang-format. The `.td` files are by default excluded from clang-format
runs, but I figured it is worth having these intrinsics definitions in
consistent layout. I'll be editing a number of the intrinsics as part of
#217423 and this will make it easier to review.