[X86] combineINSERT_SUBVECTOR - use peekThroughBitcastsAndExtracts helper to match target shuffles as well. NFC. (#209803)
We were always checking if the result of peekThroughBitcastsAndExtracts
was a target shuffle - so let the helper do it for us.
Makes it easier for future handling of faux shuffles as well.
[OpenMP] Fix endian bug in hierarchical barrier code (#117073)
The "oncore" flavor of the hierarchical barrier code uses a single
uint64 to hold both a barrier state *and* a set of flags for the current
node's "leaf kids" in the tree.
To make this work, the barrier state is placed in the least-significant
byte of the uint64, and the flags for leaf kids are placed in other
bytes of the uint64 starting from the most-significant byte to represent
the first child.
At least, this is how it works on little-endian systems. On big-endian
hosts, the current code unfortunately places the leaf kid flags starting
from the *least* significant byte of the uint64, where they will overlap
and clobber the barrier state byte, resulting in corrupted barrier
behavior.
To fix this, this PR changes the child flag offsets to always start with
the MSB, on both big- and little- endian hosts. This was complicated a
[19 lines not shown]
[libcxx][libc] update LLVM-libc test status (#201236)
This update removes some unnecessary carveouts, marks some newly
XFAILing tests, and unmarks some now passing tests.
With this change the status of tests is:
Total Discovered Tests: 11471
Unsupported : 2098 (18.29%)
Passed : 9260 (80.73%)
Expectedly Failed: 113 (0.99%)
Assisted-by: Automated tooling, human reviewed.
[lldb] Convert ELFSymbol dump methods to use StringRef (#209650)
I'm working on changing how Section stores its own name (currently a
ConstString). I broke this change out into its own small PR because of
the complexity of rewriting the format string in ELFSymbol::Dump.
[SPIRV] Sign-extend operands of sign-sensitive ops on sub-pow2 widths (#203661)
## Problem
Without extensions, `SPIRVPreLegalizer` widens sub-pow2 scalars (`s4`,
`s24`, ...) to the next legal width by relabeling the LLT only — no
sign-extension is inserted. Sign-sensitive ops (signed `G_ICMP`,
`G_ASHR`, `G_SDIV`, `G_SREM`) then read the sign bit at the wrong
position. As a result `icmp slt i4 %x, 0` always returned `false` even
for negative `i4`.
## Fix
- `SPIRVLegalizerInfo.cpp`: declare `G_SEXT_INREG.lower()` so the
legalizer expands it to `(x << k) ashr k`.
- `SPIRVPreLegalizer.cpp`: before the widening loop, emit `G_SEXT_INREG`
on each value operand of a sign-sensitive MI whose original width is
sub-pow2.
## Test
[3 lines not shown]
ecl: updated to 26.5.5
* 26.5.5 changes since 26.3.27
- bugfix: MAKE-PACKAGE destructively modified defining form's cons
cells of
the package local nicknames, breaking package literals in bytecmp
- bugfix: the first environment is now always page-aligned by using
the same allocation mechanism as all subsequent envs
- bugfix: allow loading concatenated fasc files
- bugfix: defclass does not redefine existing classes at compile
time with forward-referenced classes
* 26.3.27 changes since 24.5.10
- Vendored libffi has been updated to the version 3.5.2
- It is now possible to cross-compile source code from hosts with a
different environment than the target
- Compilation with -std=c23 (default for gcc-15) works now
- Byte operations on binary sequence streams and char operations on
character sequence streams do not require a roundtrip for encoding
[60 lines not shown]
devel/gnatcoll-core: New Port, GNAT Components Core
The GNAT Reusable Components Collection (GNATColl) - Core package.
The GNATColl reusable library is based on one main principle:
general-purpose packages that are part of the GNAT technology should
also be available to GNAT user application code. The compiler front end,
the GNAT Programming Studio (GPS) Interactive Development Environment,
and the GNAT Tracker web-based interface all served as sources for the
components.
The GNATColl components complement the predefined Ada and GNAT libraries
and deal with a range of common programming issues including string and
text processing, memory management, and file handling. Several of the
components are especially useful in enterprise applications.
https://docs.adacore.com/live/wave/gnatcoll-core/html/gnatcoll-core_ug/index.html
PR: 296496
devel/getopt-ada: New Port, Ada POSIX getopt lib
New Port, Ada POSIX getopt library:
* A simple Ada package implementing a POSIX-compliant getopt(3)https://git.sr.ht/~nytpu/getopt
PR: 296454
[clang][OpenMP][test] Specify libomp flag (#209804)
The test added in #209740 assumes that `-fopenmp=libomp` is the default
value, and does not work when the build is configured w/ `libgomp` as
the default instead.
py-httpcore2 py-httpx2: updated to 2.7.0
2.7.0
This release syncs the vendored WebSocket support with the latest httpx-ws, which was previously pinned to an outdated snapshot.
2.6.0
The main feature in this release is support for WebSockets!
Create a Template member to be the MemberSpec of a failed TemplVarDecl (#209604)
Patch #200092 changed to no longer check the previous var template when
setting whether the current one is a member specialization. However, if
the previous one was actually an error case (see the example here and in
the report), we ended up trying to do that anyway, which caused an
assertion.
This patch puts in a 'fake' declaration for the not-found declaration after we
emit the 'not found' error for the purposes of allowing our diagnostics to
continue evaluating these without causing problems.
Fixes: #209432
[lldb/script] Add type hints to scripted extension base classes (#209680)
This patch adds type annotations to every method (parameters and return
types) and every `self.<name>` attribute of the scripted extension base
classes shipped under `lldb/examples/python/templates/`. Extension
authors reading the base classes -- or an IDE navigating them -- can now
see the `lldb.SB*` contract each method exposes without having to
cross-reference the docstring.
`scripting extension generate` also picks the annotations up: derived
class docstrings advertise each inherited attribute together with its
declared type, and the generated method signatures carry their parameter
and return annotations too.
The classes covered are `ScriptedProcess`, `ScriptedThread`,
`ScriptedFrame`, `PassthroughScriptedProcess`,
`PassthroughScriptedThread`, `ScriptedFrameProvider`,
`ScriptedBreakpointResolver`, `ScriptedThreadPlan`, `ScriptedHook`,
`ScriptedPlatform`, and `OperatingSystem`.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
[flang] Add semantics support for Fortran 2023 conditional arguments (F2023 R1526-R1528) (#195345)
This PR
- Adds semantic analysis for F2023 conditional arguments (F2023
R1526-R1528), enforcing constraints F2023 C1538-C1545.
- Adds shape handling and folding for conditional args.
- Adds semantic tests.
(More details in commit messages)
This PR does not implement lowering to HLFIR; That will be a separate
PR.
AI use disclaimer: The changes in this PR were substantially
generated with the assistance of AI (claude opus 4.6 via Github
CoPilot). In accordance with the LLVM project’s AI use policy, I have
reviewed and tested the code to the best of my ability.
[SLP] Support memory runtime alias checks
Vectorize straight-line code blocked by runtime-checkable may-alias
dependencies by versioning the block. Drop the deps, and if the tree is
profitable, emit base-object address-range overlap checks branching to a
vector fast path or an original-order scalar fallback.
Fixes #201534
Original Pull Request: https://github.com/llvm/llvm-project/pull/203631
Recommit after revert in a9ba4d3fd27a05b31adfeaab5dcd42d8e43c1931,
related to late commit before the release and small after-commit change
request
Recommit after revert in ea9175f63571dda7efbdbeff9b6eed33879307ac, fixed
testing with PROFCHECK=ON
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/209820
AMDGPU: Migrate MIR parser tests to new subarch triples (59)
Mechanical migration by script.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
AMDGPU: Migrate more tests to using subarch triple commands (57)
Mostly mechanical updates with some light cleanups manually
applied.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
AMDGPU: Migrate uniform target-cpu attribute tests to subarch triple (55)
For tests that set the subtarget via a single uniform "target-cpu" IR function attribute, fold the cpu into the amdgpu subarch triple on the RUN lines, drop the redundant -mcpu, and remove the "target-cpu" attribute (deleting now-empty attribute groups and their references). The subtarget is unchanged, so codegen output is preserved.
Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)