[flang-commits] [flang] [flang][OpenMP] Lower DO and SIMD variants in metadirectives (PR #210810)

via flang-commits flang-commits at lists.llvm.org
Mon Aug 17 11:10:23 PDT 2026


chichunchen wrote:

Thanks for your review and patience @MattPD. I've pushed the fix for your last review and here's what the semantic follow-up will cover for the semantic split from this lowering patch:

  - Preserve the selected construct context across the sibling loop associated with a standalone metadirective, so discarded replacements do not produce semantic diagnostics.
  - Make semantic association and lowering use consistent rules for intervening constructs such as FORMAT, ENTRY, and OpenACC constructs.
  - Maintain replacement-specific data-environment state so a lower-ranked candidate cannot overwrite the selected arm’s default(none).
  - Check implicit captures and loop-variable data-sharing attributes for block replacements, including nested DO, SIMD, SINGLE, and BLOCK constructs.
  - Identify firstprivate, copyin, and related clauses that require variant-local host association, diagnosing unsupported cases before lowering.
 
The current PR remains focused on DO/SIMD lowering. Full support that requires constructing variant-local symbols may require a separate implementation change after the semantic checks define the required contract.

https://github.com/llvm/llvm-project/pull/210810


More information about the flang-commits mailing list