This is an archive of the discontinued LLVM Phabricator instance.

Implementation of OpenMP 5.0 mutexinoutset task dependency type.
ClosedPublic

Authored by AndreyChurbanov on Oct 17 2018, 10:54 AM.

Details

Summary

Added new type of task dependency. Library expects from compiler to use value 4 as a mutexinoutset dependency type (1 is for in, 3 is for out and inout, so it is logically to have next bit for the new type). For each depend object library creates mutex (up to 4 in total, this is heuristic limit that can be changed in future if needed). Setting of mutexes added to Task Scheduling Constraint conditions. Task with mutexinoutset dependencies can be scheduled only if all mutexes it needs are successfully set.

Any comments are welcome.

Diff Detail

Repository
rL LLVM

Event Timeline

tlwilmar accepted this revision.Nov 6 2018, 2:15 PM

LGTM

This revision is now accepted and ready to land.Nov 6 2018, 2:15 PM
This revision was automatically updated to reflect the committed changes.