This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] Enable inoutset dependency-type in depend clause.
ClosedPublic

Authored by ddpagan on Jan 27 2022, 8:55 AM.

Details

Summary

Done in manner similar to mutexinoutset (see https://reviews.llvm.org/D57576)

Runtime support already exists in LLVM OpenMP runtime (see https://reviews.llvm.org/D97085).

The value used to identify an inoutset dependency type in the LLVM OpenMP runtime is 8.

Some tests updated due to change in dependency type error messages that now include new dependency type. Also updated test/OpenMP/task_codegen.cpp to verify we emit the right code.

Diff Detail

Event Timeline

ddpagan created this revision.Jan 27 2022, 8:55 AM
ddpagan requested review of this revision.Jan 27 2022, 8:55 AM
Herald added a project: Restricted Project. · View Herald Transcript
ddpagan edited the summary of this revision. (Show Details)Jan 27 2022, 8:56 AM

Is it a new mode from OpenMP 5.2? Or 5.1? Can you add a check for OpenMP version, if so?

Is it a new mode from OpenMP 5.2? Or 5.1? Can you add a check for OpenMP version, if so?

Thanks for catching this, Alexey. It is new in OpenMP 5.1. I'll add a check for this.

ddpagan updated this revision to Diff 404697.Jan 31 2022, 1:22 PM

Per Alexey's suggestion, 'inoutset' now accepted only with OpenMP5.1. Also updated affected dependency type tests to expect and to test 'inoutset' only when version is at least 5.1.

ddpagan updated this revision to Diff 406488.Feb 7 2022, 9:04 AM

Corrected clang formatting issues, except those relating to updated tests. Because of known clang-format deficiencies, making these changes causes them to fail.

This revision is now accepted and ready to land.Feb 7 2022, 9:10 AM
aaron.ballman closed this revision.Feb 8 2022, 5:37 AM

I've commit on your behalf in 0a7cc078ac2be36beb605f08d98ee70065352c7b, thank you! I think it's entirely appropriate for you to obtain commit privileges (https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access) if that's something you'd like to do, btw.

clang/test/OpenMP/target_update_depend_messages.cpp