If a function is reached from a parallel region and a sequential part of
a kernel we cannot use the simple guarding blocks for side effects as
they might deadlock in the parallel region. This patch will track such
functions and version them. We will call a ".parallel" version if we
reach it from a parallel region and the default one otherwise. Only in
the default one we will create guards which avoids checks for the "mode"
and potential deadlocks.
Details
Details
- Reviewers
jhuber6 ggeorgakoudis sstefan1 baziotis
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests