This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug hsa/81477] New: HSA offloading regressions: "function cannot be cloned"
- From: "tschwinge at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 18 Jul 2017 15:23:41 +0000
- Subject: [Bug hsa/81477] New: HSA offloading regressions: "function cannot be cloned"
- Auto-submitted: auto-generated
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;
}