jdenny added a comment.

In D56113#1341940 <https://reviews.llvm.org/D56113#1341940>, @ABataev wrote:

> The patch does not seem quite correct. I committed another fix for this 
> problem.


Thanks for the fix, r350127, which does seem to address the use cases I care 
about right now.

However, you are still implementing predetermined shared for const variables.  
Assuming OpenMP 4.0 or later, that produces misleading diagnostics, such as 
"error: shared variable cannot be lastprivate".  Moreover, default(none) 
doesn't have the expected effect on such variables.  Then again, neither of 
these issues seems like a severe problem, and your approach is more compliant 
with earlier OpenMP versions.  Does all that match your view?

> There is still the problem with the explicitly specified `shared` clause on 
> `target teams` directive, but I don't think that it must cause some troubles. 
> The variable still should not be transferred from device to the host, so it 
> is fine to pass by value into inner teams regions. Though, generally 
> speaking, it must be fixed.

Should there be a copy allocated on the device and shared among the teams?  By 
the way, removing const from the example doesn't avoid this bug, but splitting 
`omp target teams` into two directives does avoid it.


Repository:
  rC Clang

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

https://reviews.llvm.org/D56113



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to