This is an archive of the discontinued LLVM Phabricator instance.

[OpenMP] libomp: fix ittnotify usage.
ClosedPublic

Authored by AndreyChurbanov on Oct 11 2021, 2:39 PM.

Details

Summary

Replaced storing of ittnotify domain array index into location info structure (which is now read-only) with
storing of location info address + ittnotify domain + team size into hash map.

Replaced __kmp_itt_barrier_domains and __kmp_itt_imbalance_domains arrays with __kmp_itt_barrier_domains hash map;
__kmp_itt_region_domains and __kmp_itt_region_team_size arrays with __kmp_itt_region_domains hash map.

Basic functionality did not change (at least tried to).
The patch fixes https://bugs.llvm.org/show_bug.cgi?id=48644.

Diff Detail

Event Timeline

AndreyChurbanov requested review of this revision.Oct 11 2021, 2:39 PM
AndreyChurbanov edited the summary of this revision. (Show Details)Oct 11 2021, 2:43 PM
This revision is now accepted and ready to land.Oct 13 2021, 10:20 AM

Added assertions on check of __itt_domain_create() result.
Theoretically the function can return NULL pointer that would indicate broken initialization of the ittnotify library.
Though we should check the broken initialization earlier, I added the assertions just in case.

This revision was landed with ongoing or failed builds.Oct 13 2021, 10:49 AM
This revision was automatically updated to reflect the committed changes.