From: Martin Liska Date: Mon, 29 May 2017 09:10:58 +0000 (+0200) Subject: Backport r246847 X-Git-Tag: releases/gcc-5.5.0~325 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=714098318afce88df43ace80f9c9634dd9e4c362;p=thirdparty%2Fgcc.git Backport r246847 2017-05-29 Martin Liska Backport from mainline 2017-04-11 Martin Liska PR ipa/80212 * ipa-cp.c (determine_versionability): Handle calls_comdat_local flags. From-SVN: r248563 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 501cb25e59c2..3350677a032d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2017-05-29 Martin Liska + + Backport from mainline + 2017-04-11 Martin Liska + + PR ipa/80212 + * ipa-cp.c (determine_versionability): Handle calls_comdat_local + flags. + 2017-05-29 Martin Liska Backport from mainline diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 81a6ef8e066a..adbd2ca4d34e 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -514,6 +514,12 @@ determine_versionability (struct cgraph_node *node) decloned constructors, inlining is always better anyway. */ else if (node->comdat_local_p ()) reason = "comdat-local function"; + else if (node->calls_comdat_local) + { + /* TODO: call is versionable if we make sure that all + callers are inside of a comdat group. */ + reason = "calls comdat-local function"; + } if (reason && dump_file && !node->alias && !node->thunk.thunk_p) fprintf (dump_file, "Function %s/%i is not versionable, reason: %s.\n",