https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82251
Bug ID: 82251 Summary: OpenMP omp_is_initial_device early folding Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: openmp Severity: enhancement Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- As discussed, similar to how acc_on_device is, "omp_is_initial_device should also be implemented as a builtin" (<http://mid.mail-archive.com/87k350n6zl.fsf@schwinge.name>); "omp_is_initial_device [...] eventually can be inlined by the compiler on NVPTX target or perhaps any ACCEL_COMPILER, but we need to provide a library version anyway, you can take address of the function etc." (<http://mid.mail-archive.com/20150924074315.GB1847@tucnak.redhat.com>). Fortran handling is expected to require more effort than C and C++, see PR82250. As may be necessary, care has to be taken to not break the special handling in libgomp for Intel MIC offloading (<http://mid.mail-archive.com/20160614155316.GA17678@msticlxl57.ims.intel.com>), and HSA offloading currently per gcc/hsa-gen.c:hsa_init_simple_builtins expands omp_is_initial_device to a zero constant.