[libc++] Allow the compiler to reorder computation in reduction loops (#237918)
This PR allows Clang to vectorize and interleave loops in the reduction
algorithms: `std::reduce` and `std::transform_reduce`.
This is permitted by
https://eel.is/c++draft/numerics.defns#lib:GENERALIZED_SUM.
Currently it's enabled only for Clang, it's unclear if GCC has a direct
equivalent.
A new macro `_LIBCPP_ENABLE_LOOP_VECTORIZATION` is tentatively placed in
`__configuration/attributes.h`, though it's not an attribute per-se.
Ideally we might want to refactor `__configuration/pstl.h` to be less
PSTL-specific and put the new macro there instead.
Part of #234887
[mlir][NFC] Remove includes provided by generated declarations and definitions (#238848)
#236155 and #238735 made the generated declarations and definitions of
ops, attributes, types and interfaces include the core MLIR headers they
require. Includes that headers and source files only had for the
generated code are therefore redundant. This removes them in MLIR, Flang
and ClangIR.
Includes of headers that the hand-written code uses directly are kept,
even when the generated code includes them as well.
---------
Co-authored-by: Claude <noreply at anthropic.com>
elf: do not read past the note section data
The loop copied a note header while any byte was left, so a last note
followed by padding shorter than a header made it read past the section.
The ABI descriptor was then read without checking that it fits, and the
name was compared with strcmp() although it is not necessarily
terminated.
Only read a whole header, check that the name and the descriptor fit
before using them, compare the name with the length the note declares,
and advance with the per field padding the format defines.
[AMDGPU][NewInsertWaitcnt] Event Tracker (2/2)
See #226970 for context and history regarding this patch.
This is intended to begin review as a 1-1 equivalent of #226970 with only one change: a "Drain"
test that Claude added and I found useful, so I left it in.
Builds upon the previous patch to include the functionality needed to import
events from predecessor basic blocks into a basic block, so a MBB can be aware of
previous state.
This adds the "age" system, which is necessary to preserve chronology across control-flow edges,
especially in asymmetrical diamonds, alongside a way to import predecessor state via a `enterBlock`
function.
Assisted-by: AI Coding Assistants for basic boilerplate/research/etc. - no logic was written by LLMs except some unit tests.
[LLVM] Use CreatePtrAddFrom(Signed|Unsigned)Offset helpers more (#239153)
Both to simplify code and make sure that the correct offset type
is always used (some places were hardcoding 64 or 32 bits, which
may not match the pointer index type).
arti: update to 2.8.0.
# Arti 2.8.0 — 3 November 2026
Arti 2.8.0 continues our steady progress on relay and directory authority development,
including on computing the consensus from votes,
bootstrapping router descriptors and microdescriptors,
as well as relay bandwidth rate-limiting,
descriptor encoding, and the relay DNS cache implementation.
Additionally, we have made a number of cleanups and
clarifications to the Tor specification.
This release has a number of security fixes; please see below.
As usual, there are also many under-the-hood improvements and bug fixes,
which are documented below.
### Security fixes
[17 lines not shown]
[NVPTX] Support native 128-bit atomic load + store (#236423)
Lower i128 atomic loads and stores to ld/st.b128 on SM 70 and newer with
PTX 8.3, instead of emulating them with compare-and-swap or exchange.
Split values into pairs of i64 operands and preserve the memory ordering
and scope so instruction selection inserts the required fences.
Add coverage for i128 and fp128 loads and stores, including memory
ordering, address spaces, volatile accesses, and unsupported targets.
Update scalar and elementwise atomic CAS loop checks to use 128-bit
loads.
Assisted by: Codex
---------
Co-authored-by: Akshay Deodhar <adeodhar at nvidia.com>
textproc/ruby-json_schemer: add version 2.5.0
ruby-json_schemer is required by ruby-mcp package.
My apologies for forgetting to commit ths package first.
JSONSchemer
JSON Schema validator. Supports drafts 4, 6, 7, 2019-09, 2020-12, OpenAPI
3.0, and OpenAPI 3.1.
[AMDGPU][NewInsertWaitcnt] Event Tracker (1/2)
See #226970 for context and history regarding this patch.
Adds the basic infrastructure needed to track in-flight records for each InstCounterType.
This is not a full functional replacement of SIInsertWaitcnts::WaitcntBrackets and it does not
aim to be one, as we'd like to break up its functionality into multiple different pieces.
This patch only contains the functionality needed for tracking events in one block, without importing events from previous blocks.
Assisted-by: Claude Opus 5.5
After requests to split the patch, I used Claude to help me create this patch which is a subset of #226970 with all functionality pertaining to importing incoming events removed.
textproc/ruby-hana: add version 1.3.7
ruby-hana is required by forthcoming ruby-json_schemer package which
is required by ruby-mcp.
hana
Implementation of JSON Patch(rfc6902) and JSON Pointer(rfc6901) RFC.
[llvm-readobj] Avoid crashes for unsupported WebAssembly options (#237555)
Fix crashes when using --unwind, --stackmap, or --all on valid
WebAssembly object files. Before that WasmDumper used llvm_unreachable
for unwind information and stack maps, while they could be reached with
valid command line options. The fix replaces handlers with empty
functions to avoid crashing
AI assisted with understanding the issue, producing tests, and reviewing
implementation. I also ran the focused tests locally
Fixes #226398
[analyzer] Match standard libraries regardless `restrict` qualifier
Remove the `restrict` sensitivity from StdLibraryFunctionsChecker to
simplify the code and remove the risk of a failure to match.
c5dd283d2f2409dfca13628e15bbf0e526dfc3f0 demonstrates that UCRT does not
specify the `restrict` qualifiers leading to non-matches in
StdLibraryFunctionsChecker. There might be other non-standard-compliant
libc implementations that share this drawback.
The `restrict` sensitivity does not seem to improve analyzer precision
in any practical case, yet it increases code complexity and adds a risk
of FNs as happened with UCRT.
--
CPP-9480
time/ruby-strptime: add version 0.2.5
ruby-strptime is required by ruby-rasn1 package. My apologies for
forgetting to commit ths package first.
Strptime
A fast strptime/strftime engine which uses VM.