[llvm-branch-commits] [OpenMP] Add taskgraph tests for the 'default' clause on replayable constructs (PR #216330)
Julian Brown via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Aug 14 07:32:38 PDT 2026
https://github.com/jtb20 created https://github.com/llvm/llvm-project/pull/216330
Adds tests covering default(none), default(shared) and default(firstprivate) on
replayable tasks and taskloops inside a taskgraph. default(none) on a
replayable construct previously crashed Clang's Sema because the implicit-DSA
check had no case for the 'replayable' clause.
Beyond compiling, the tests verify the runtime record/replay semantics under
each default value: shared list items are relocated to (and re-read from) the
current call on every replay, while plain firstprivate items and
firstprivate(saved) items are snapshotted at recording and persist across
replays even after the underlying static is mutated. The firstprivate(saved)
and plain-firstprivate list items are aggregates / known-size arrays so the
aggregate save path (rather than the always-inlined intptr-sized scalar path)
is exercised. The default(firstprivate) taskloop additionally uses a reduction
as a regression guard for the enclosing-region reduction-variable capture fix.
Each encounter enters the taskgraph at a different call-stack depth, with the
abandoned frames clobbered in between, so a replay that used the recorded
shareds pointer cannot land on the live objects by accident.
Assisted-By: Claude Opus 4.8
More information about the llvm-branch-commits
mailing list