[clang] [llvm] [OpenACC] Switch Clang to use the Flang 'appertainment' rules for cla… (PR #135372)

Erich Keane via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 18 08:39:15 PDT 2025


erichkeane wrote:

> > > Updated list:
> > > ```
> > > Disagreements on 'num_gangs' appearing >1x on kernels/kernels-loop (justification for kernels-loop should apply to kernels as well?) (UNK way forward right now)
> > >     Clang :: SemaOpenACC/compute-construct-num_gangs-clause.c
> > >   
> > > FLANG: prohibits device_num >1x  (UNK way forward RN).
> > >   Clang :: SemaOpenACC/init-construct.cpp
> > >   Clang :: SemaOpenACC/shutdown-construct.cpp
> > >   
> > > Disagreement on 'bind' on a 'routine'. (UNK way forward right now)
> > >    Clang :: SemaOpenACC/routine-construct-clauses.cpp
> > > ```
> > 
> > 
> > In discussion, we decided that `bind` probably should follow the same rules as "Implemented proposed change for 'routine' gang/worker/vector/seq. (see issue 539)". So I'll follow-up on that after this.
> 
> We discussed/solved 'bind', so:
> 
> ```
>  Disagreements on 'num_gangs' appearing >1x on kernels/kernels-loop (justification for kernels-loop should apply to kernels as well?) (UNK way forward right now)
>      Clang :: SemaOpenACC/compute-construct-num_gangs-clause.c
>    
>  FLANG: prohibits device_num >1x  (UNK way forward RN).
>    Clang :: SemaOpenACC/init-construct.cpp
>    Clang :: SemaOpenACC/shutdown-construct.cpp
> ```

Implemented our agreement on the `device_num` on init/shutdown, so down to only the num_gangs/num_workers/vector_length restriction we proposed, which requires that the Appertainment files (and thus likely the Fortran impl) change.

@clementval 

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


More information about the llvm-commits mailing list