]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport r246847
authorMartin Liska <mliska@suse.cz>
Mon, 29 May 2017 09:10:58 +0000 (11:10 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 29 May 2017 09:10:58 +0000 (09:10 +0000)
2017-05-29  Martin Liska  <mliska@suse.cz>

Backport from mainline
2017-04-11  Martin Liska  <mliska@suse.cz>

PR ipa/80212
* ipa-cp.c (determine_versionability): Handle calls_comdat_local
flags.

From-SVN: r248563

gcc/ChangeLog
gcc/ipa-cp.c

index 501cb25e59c2ce2c067aac8a3adfbf49408f6e66..3350677a032dbf73e3b314cf8552f4abc99a97dd 100644 (file)
@@ -1,3 +1,12 @@
+2017-05-29  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2017-04-11  Martin Liska  <mliska@suse.cz>
+
+       PR ipa/80212
+       * ipa-cp.c (determine_versionability): Handle calls_comdat_local
+       flags.
+
 2017-05-29  Martin Liska  <mliska@suse.cz>
 
        Backport from mainline
index 81a6ef8e066a72fcb5f7cdb81b7fc3167183dd41..adbd2ca4d34e5dd883e90c0ce3704cb94589da26 100644 (file)
@@ -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",