clast-based loop ivdep / 'vector always' marking for vectorization
If CLAST_PARALLEL_VEC is set for clast_for->parallel, generate the loop
with pragmas that ask a compiler to ignore a vector dependence and force
its vectorization. Pragmas currently being added allow that with
Intel's compiler. The following are added right before the loop (without
quotes):
"#pragma ivdep"
"#pragma vector always"
If both CLAST_PARALLEL_OMP and CLAST_PARALLEL_VEC are set, ignore the
latter; similarly with CLAST_PARALLEL_MPI (though both MPI distribution
and vectorization should be possible, it's hard to see its utility)
CLAST_PARALLEL_VEC is only meant to be meaningful for innermost loops.
Signed-off-by: Uday Bondhugula <udayreddy@gmail.com>
Signed-off-by: Tobias Grosser <tobias@grosser.es>