Attributor: Fix use-after-free clearing tail calls in AAPrivatizablePtr (#239070)
The tail calls collected during manifest may be erased by a signature
rewrite of their callee before the repair callback runs. Find them in
the callback instead.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[CIR][OpenMP] Add support for 'distribute parallel for' with 'target teams'
Adds support for handling the full '[target] teams distribute parallel for'.
Introduces setting the omp.composite attibute for the 'distribute parallel for'
composite construct.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add initial support for distribute
This patch adds initial support for the OpenMP 'distribute' directive. Basic
code generation for the standalone and combined cases is introduced. Support
for clauses will be added in the future. The composite 'teams distribute
parallel for' form will be added in a subsequent patch.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for omp teams
This patch adds support for the OpenMP 'teams' directive, both standalone
and as the combined `target teams` construct. isCombinableLeaf now also
recognizes teams, so an explicitly-nested `target` + `teams` pair gets
the same omp.combined marking as the combined case.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for host_eval so that SPMD kernels can be used
This patch adds support for host_eval so that SPMD kernels and in the future
num_threads and other clauses can be implemented correctly.
Assisted-by: Cursor / Claude Sonnet 5 High
[CIR][OpenMP] Add support for the OpenMP 'for' directive
This patch adds support for wsloop in ClangIR: the `for` directive and its
combined forms `parallel for` and `target parallel for`. This is lowered to an
omp.wsloop + omp.loop_nest, nested utilizing the existing queue-based
decomposition.
Assisted-by: Cursor / Claude Sonnet 5 High
[libc][annex_k] Terminate abort_handler_s through OSUtil instead of abort
Code under src/__support must not depend on public entrypoints such as
src/stdlib/abort.h and must stay OS independent. Terminate through the
OSUtil exit abstraction instead, following the precedent in libc_assert.h.
[libc][annex_k] Terminate abort_handler_s through OSUtil instead of abort
Code under src/__support must not depend on public entrypoints such as
src/stdlib/abort.h and must stay OS independent. Terminate through the
OSUtil exit abstraction instead, following the precedent in libc_assert.h.
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
Attributor: Work around GCC 9 ICE in AAHeapToStack manifest (#239061)
GCC 9 crashes on the generic lambda added in f4b99f3edd466. Use an
explicit parameter type instead.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[cmake] Findzstd: probe AIX .a archives for shared objects
On AIX, shared libraries are conventionally packaged as `.a` archives
containing shared-object members. The existing heuristic in
`Findzstd.cmake` classifies any `.a` file (other than `.dll.a` import
libraries) as a static library, based solely on the file suffix.
Fix this by probing the found library on AIX. Treat it as shared if
`ar -t` lists a member ending in `.imp`. Otherwise, treat it as shared
if `dump -ov` shows a member whose `Flags` include `SHROBJ` but not
`LOADONLY`. The file-suffix heuristic is preserved unchanged for all
other platforms.
---------
Assisted-by: IBM Bob
[flang] Use correct dummy argument name X for IEEE_IS_NAN/IS_NEGATIVE/IS_NORMAL (#233757)
Also adds flang/test/Semantics/ieee_keywords.f90 covering positive X=,
positional, and negative A= references.
Fixes #233449
AI assistance was used for code review analysis and local build
verification.
Co-authored-by: Claude Code <noreply at anthropic.com>
Attributor: Volatile calls may access inaccessible memory
AAMemoryLocation only used the callee's memory locations for calls, so
a function doing a volatile memcpy between its arguments was
memory(argmem: readwrite). Add inaccessible memory for volatile calls,
as CallBase::getMemoryEffects does.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
Attributor: Fix use-after-free clearing tail calls in AAPrivatizablePtr
The tail calls collected during manifest may be erased by a signature
rewrite of their callee before the repair callback runs. Find them in
the callback instead.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>