Added codegen for scandirectives in simd loop. The codegen transforms
original code:
int x = 0; #pragma omp simd reduction(inscan, +: x) for (..) { <first part> #pragma omp scan inclusive(x) <second part> }
into
int x = 0; for (..) { int x_priv = 0; <first part> x = x_priv + x; x_priv = x; <second part> }
and
int x = 0; #pragma omp simd reduction(inscan, +: x) for (..) { <first part> #pragma omp scan exclusive(x) <second part> }
into
int x = 0; for (..) { int x_priv = 0; <second part> int temp = x; x = x_priv + x; x_priv = temp; <first part> }
What does this conditional do?