clast-based loop ivdep / 'vector always' marking for vectorization
commit633a9e1f83312da595225e1d46ebd7f14f18b638
authorUday Bondhugula <udayreddy@gmail.com>
Thu, 26 Jul 2012 11:00:10 +0000 (26 16:30 +0530)
committerTobias Grosser <tobias@grosser.es>
Sun, 29 Jul 2012 09:20:13 +0000 (29 14:50 +0530)
treea1a3f86aa86b96f68fed410ef91cfc7afbf45e6d
parentc9278c5dba6abb74f98967b6c48386cbe8b07bc8
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>
include/cloog/clast.h
source/pprint.c