llvm-project
df49da32 - [flang][OpenMP] Decompose combined construct selectors in variant matching (#205802)

Commit
14 days ago
[flang][OpenMP] Decompose combined construct selectors in variant matching (#205802) The previous code resolved a `construct={...}` selector by mapping its name to a trait through a string lookup (`getOpenMPContextTraitSelectorKind` -> `getOpenMPContextTraitPropertyForSelector`). That works for a standalone leaf construct such as `parallel`, whose name matches a single construct selector string, but not for a combined/composite directive such as `target teams`: its name (`"target teams"`) matches no selector string, so the lookup returns `invalid` and the selector's construct traits are dropped. This PR adds `AppendConstructTraitsForDirective` that walks the directive sets and adds each leaf trait, so combined directives are no longer reduced to a single (or dropped) trait. It also handles the standalone `dispatch` construct trait. Fixes https://github.com/llvm/llvm-project/issues/205664 Assisted-by: Cursor
Author
Parents
Loading