[OpenACC 1/11] UNIQUE internal function

Nathan Sidwell nathan@acm.org
Thu Oct 22 20:25:00 GMT 2015


On 10/22/15 04:04, Jakub Jelinek wrote:

>> +  /* Ignore blocks containing non-clonable function calls.  */
>> +  for (gsi = gsi_start_bb (CONST_CAST_BB (bb));
>> +       !gsi_end_p (gsi); gsi_next (&gsi))
>> +    {
>> +      g = gsi_stmt (gsi);
>> +
>> +      if (is_gimple_call (g) && gimple_call_internal_p (g)
>> +	  && gimple_call_internal_unique_p (as_a <gcall *> (g)))
>> +	return true;
>> +    }
>
> Do you have to scan the whole bb?  E.g. don't or should not those
> unique IFNs force end of bb?

What about adding a flag to struct function?

   /* Nonzero if this function contains IFN_UNIQUE markers.  */
   unsigned int has_unique_calls : 1;

Then the tracer could either skip it, or do the search?

(I notice there are cilk flags already in struct function, instead of the above, 
we could add an openacc-specific one with  a similar behaviour?)

nathan



More information about the Gcc-patches mailing list