[all-commits] [llvm/llvm-project] 7fc4f2: [flang][openacc] Build full shared-label DO nests ...

Valentin Clement (バレンタイン クレメン) via All-commits all-commits at lists.llvm.org
Fri Sep 25 16:18:39 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7fc4f276a4d0a4b1f968003d863ee50dc9ebcedd
      https://github.com/llvm/llvm-project/commit/7fc4f276a4d0a4b1f968003d863ee50dc9ebcedd
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M flang/lib/Parser/openacc-parsers.cpp
    M flang/test/Parser/acc-label-do.f90

  Log Message:
  -----------
  [flang][openacc] Build full shared-label DO nests in AccNonBlockDoConstruct (#225997)

When an `!$acc loop` is associated with a labeled DO,
AccNonBlockDoConstruct
turned only that outer loop into a DoConstruct and left sibling
LabelDoStmts
that share the same terminator for later CanonicalizeDo. An inner `!$acc
loop`
then swallowed the shared terminator into its own DoConstruct, so
AnalyzeLabels (which runs before CanonicalizeDo) rejected the remaining
LabelDoStmts with "Label 'N' is not in DO loop scope".

Recurse on nested LabelDoStmts while parsing the associated loop so the
whole shared-label nest is a DoConstruct before label analysis. Add a
parser test where only the outer and innermost loops have LOOP
directives.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list