<html><body>
<p><font size="2" face="sans-serif">I have a question with respect to the code pattern generated for dynamic loops by Clang. Given this input program:</font><br>

<ul style="padding-left: 18pt"><font size="2" face="sans-serif">#pragma omp for schedule(dynamic, 2)</font><br>
<font size="2" face="sans-serif">for(int i=0; i<16; i++)</font><br>
<font size="2" face="sans-serif">  // code a</font><br>
</ul>
<font size="2" face="sans-serif">the code pattern seems to be:</font><br>

<ul style="padding-left: 18pt"><font size="2" face="sans-serif">// init</font><br>
<font size="2" face="sans-serif"><b>kmpc_dispatch_ini</b></font><font size="2" face="sans-serif">(..., schedule=dyn, lb=0, ub=15, step=1, chunk=2); </font><br>
<br>
<font size="2" face="sans-serif">// work</font><br>
<font size="2" face="sans-serif">while (</font><font size="2" face="sans-serif"><b>kmpc_dispatch_next</b></font><font size="2" face="sans-serif">( ..., &last, &lb, &ub, &stride)) { // next</font><br>
<font size="2" face="sans-serif">  for(int j=lb, j<ub; j++) {</font><br>
<font size="2" face="sans-serif">    // code a</font><br>
<font size="2" face="sans-serif">  }</font><br>
<font size="2" face="sans-serif">  </font><font size="2" face="sans-serif"><b>kmpc_dispatch_fini</b></font><font size="2" face="sans-serif">(...);</font><br>
<font size="2" face="sans-serif">}</font><br>
<br>
<font size="2" face="sans-serif">// barrier</font><br>
<font size="2" face="sans-serif"><b>kmpc_cancel_barrier</b></font><font size="2" face="sans-serif">(...)</font></ul>
<br>
<font size="2" face="sans-serif">Namely, there seems to be one "fini" call for each "next" call. I assumed initially only one "fini" before the barrier to indicate the end of all chunks of work... but this does not appear to be the case.</font><br>
<br>
<font size="2" face="sans-serif">Also, the stride passed back by "next" does not seems to be used. </font><br>
<br>
<font size="2" face="sans-serif">And Clang appears to generate only normalized loop (i.e. lb = 0 and increment = 1)...</font><br>
<br>
<font size="2" face="sans-serif">Could you please confirm that my current understanding is correct? </font><br>
<br>
<font size="2" face="sans-serif">Thanks</font><br>
<br>
<font size="2" face="sans-serif">Alexandre</font></body></html>