On 12/12/13 07:56, Iyer, Balaji V wrote:
Will it be Ok if I don’t mark them as cilk simd function but just
keep it as omp declare simd from the start? That should get around
this issue.
No, because then we won't be able to distinguish between OMP and Cilk
Plus clones. This is something we do here:
/* To distinguish from an OpenMP simd clone, Cilk Plus functions to
be cloned have a distinctive artificial label in addition to "omp
declare simd". */
bool cilk_clone
= (flag_enable_cilkplus
&& lookup_attribute ("cilk plus elemental",
DECL_ATTRIBUTES (node->decl)));
/* Allocate one more than needed just in case this is an in-branch
clone which will require a mask argument. */
struct cgraph_simd_clone *clone_info = simd_clone_struct_alloc (n + 1);
clone_info->nargs = n;
clone_info->cilk_elemental = cilk_clone;