This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] libomp: added itt notifications for task, taskwait, taskgroup.
ClosedPublic

Authored by AndreyChurbanov on Jul 14 2020, 12:08 PM.

Details

Summary

Without this patch Intel Inspector reports race conditions on fibonacci test, like in code block:
#pragma omp task

i = fib(n-2);

#pragma omp task

j = fib(n-1);

#pragma omp taskwait

return i + j; // <-- false write-read race with i=..., j=...

The patch adds synchronization notifications between task/taskwait, and task/end taskgroup.
Also added suppression on manually synchronized variables in debug mode. This allows to analyze library internals with lesser false positives.

Diff Detail

Event Timeline

hbae accepted this revision.Jul 15 2020, 1:11 PM

LGTM.

This revision is now accepted and ready to land.Jul 15 2020, 1:11 PM
This revision was automatically updated to reflect the committed changes.