https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81477
Bug ID: 81477 Summary: HSA offloading regressions: "function cannot be cloned" Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: openmp Severity: normal Priority: P3 Component: hsa Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: hubicka at gcc dot gnu.org, jamborm at gcc dot gnu.org, marxin at gcc dot gnu.org Target Milestone: --- I noticed that with HSA offloading enabled, as of r250048 ("Avoid global optimize flag checks in LTO"), a handful of test cases FAIL "for excess errors": "c-c++-common/gomp/pr61486-1.c" (C, C++), "c-c++-common/gomp/pr63249.c" (C, C++), "g++.dg/gomp/pr63249.C", "g++.dg/gomp/pr66571-1.C". cc1: warning: could not emit HSAIL for function foo._omp_fn.0: function cannot be cloned [-Whsa] gcc/ipa-hsa.c: /* If NODE is not versionable, warn about not emiting HSAIL and return false. Otherwise return true. */ static bool check_warn_node_versionable (cgraph_node *node) { if (!node->local.versionable) { warning_at (EXPR_LOCATION (node->decl), OPT_Whsa, "could not emit HSAIL for function %s: function cannot be " "cloned", node->name ()); return false; } return true; }