[Openmp-dev] Doacross loops should not be collapsed

Joachim Protze via Openmp-dev openmp-dev at lists.llvm.org
Mon Aug 6 12:39:19 PDT 2018


Hi all,

a while ago I created a bug report on this issue 
(https://bugs.llvm.org/show_bug.cgi?id=37580).

The following directive should not result in collapsing the for loops:
#pragma omp parallel for ordered(2)

Since we now ran into the same issue while implementing the OMPT events 
for doacross loops, I tried to understand what is the issue in the 
compiler. I think, that both SemaOpenMP.cpp and CGOpenMPRuntime.cpp make 
wrong assumptions on the behavior of doacross loops.

One of the assumptions is, that the vec argument should always have 
length 1. The vector length should probably be
ordered-num - collapsed-num + 1

Any suggestions, how this should be fixed in a clean way?

Thanks,
Joachim


More information about the Openmp-dev mailing list