[Openmp-commits] [PATCH] D103608: [OpenMP][Tools] Fix Archer handling of task dependencies

Joachim Protze via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Jun 3 03:54:29 PDT 2021


protze.joachim created this revision.
protze.joachim added a reviewer: Hahnfeld.
protze.joachim added a project: OpenMP.
Herald added subscribers: guansong, yaxunl.
protze.joachim requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a subscriber: sstefan1.

The current handling of dependencies in Archer has two flaws:

- annotation of dependency synchronization is not limited to sibling tasks
- annotation of in/out dependencies is based on the assumption, that dependency variables will rarely be byte-sized variables.

This patch introduces a map in the generating task to manage the dependency variables for the child tasks. The map is only accesses from the generating task, so no locking is necessary. This limits the dependency-based synchronization to sibling tasks.
This patch also introduces proper handling for new dependency types such as mutexinoutset and inoutset.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D103608

Files:
  openmp/tools/archer/ompt-tsan.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103608.349512.patch
Type: text/x-patch
Size: 7900 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20210603/25fd0d71/attachment-0001.bin>


More information about the Openmp-commits mailing list