[PATCH] D158462: [OMPIRBuilder] Fix shared clause for task construct

Kiran Chandramohan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 23 08:29:25 PDT 2023


kiranchandramohan added a comment.

In D158462#4610220 <https://reviews.llvm.org/D158462#4610220>, @psoni2628 wrote:

> In D158462#4610054 <https://reviews.llvm.org/D158462#4610054>, @psoni2628 wrote:
>
>> In D158462#4609718 <https://reviews.llvm.org/D158462#4609718>, @kiranchandramohan wrote:
>>
>>> Thanks @psoni2628 for the patch. This is great.
>>> Could you upload the patch with full context for ease of review?
>>> Are the Clang OpenMP test failures related?
>>
>> Yes. So for context, the following Fortran test case was failing previously, but now it runs.
>>
>>   subroutine foo()
>>     implicit none
>>     integer::x,y
>>     x=0
>>      !$omp task shared(x,y)
>>      x=2
>>      y=3
>>   
>>      !$omp end task
>>     !$omp taskwait        
>>     print *, x, y
>>   end subroutine foo
>>   
>>   program p
>>   implicit none
>>   
>>   !$omp parallel
>>   !$omp single
>>   call foo()
>>   !$omp end single
>>   !$omp end parallel
>>   end program p
>>
>> As for the clang failures, it looks like they are related. I think I just need to update the CHECK lines, but I'm still figuring that out.
>
> The clang test failures are being caused by my addition of `kmp_task_t` to `OMPKinds.def`. It is conflicting with Clang's definition of `kmp_task_t` in `clang/lib/CodeGen/CGOpenMPRuntime.cpp`, so the struct gets renamed to `kmp_task_t.0` and `kmp_task_t.1`. I don't think it is that simple to update the usage of `kmp_task_t` in `clang/lib/CodeGen/CGOpenMPRuntime.cpp`. Should I rename my addition of `kmp_task_t` in `OMPKinds.def` to `kmp_task`, or should I just fix the tests to allow `kmp_task_t.0` and `kmp_task_t.1`?

ping @jdoerfert


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158462/new/

https://reviews.llvm.org/D158462



More information about the llvm-commits mailing list