On 10/20/2015 08:34 PM, Alexander Monakov wrote:
The NVPTX backend emits each functions either as .func (callable only from the device code) or as .kernel (entry point for a parallel region). OpenMP lowering adds "omp target entrypoint" attribute to functions outlined from target regions. Unlike OpenACC offloading, OpenMP offloading does not invoke such outlined functions directly, but instead passes their address to 'gomp_nvptx_main'. Restrict the special attribute treatment to OpenACC only.* config/nvptx/nvptx.c (write_as_kernel): Additionally test flag_openacc for "omp_target_entrypoint".
I'm not too keen on this. The idea of the attribute is to make it a kernel that can be executed from the host. If that isn't wanted by OpenMP, it shouldn't set the attribute.
Bernd
