OSDN Git Service

* lto-cgraph.c (lto_output_node): Do not output comdat groups
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Apr 2010 17:42:46 +0000 (17:42 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:34:46 +0000 (14:34 +0900)
for boundary nodes.
(output_cgraph): Do not arrange comdat groups for boundary nodes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158615 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/lto-cgraph.c

index cc0c174..9b379bd 100644 (file)
@@ -1,3 +1,9 @@
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (lto_output_node): Do not output comdat groups
+       for boundary nodes.
+       (output_cgraph): Do not arrange comdat groups for boundary nodes.
+
 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/40040
 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/40040
index 309db7f..cb87143 100644 (file)
@@ -324,7 +324,7 @@ lto_output_node (struct lto_simple_output_block *ob, struct cgraph_node *node,
   lto_output_sleb128_stream (ob->main_stream,
                             node->global.estimated_growth);
   lto_output_uleb128_stream (ob->main_stream, node->global.inlined);
   lto_output_sleb128_stream (ob->main_stream,
                             node->global.estimated_growth);
   lto_output_uleb128_stream (ob->main_stream, node->global.inlined);
-  if (node->same_comdat_group)
+  if (node->same_comdat_group && !boundary_p)
     {
       ref = lto_cgraph_encoder_lookup (encoder, node->same_comdat_group);
       gcc_assert (ref != LCC_NOT_FOUND);
     {
       ref = lto_cgraph_encoder_lookup (encoder, node->same_comdat_group);
       gcc_assert (ref != LCC_NOT_FOUND);
@@ -447,30 +447,8 @@ output_cgraph (cgraph_node_set set)
              /* We should have moved all the inlines.  */
              gcc_assert (!callee->global.inlined_to);
              add_node_to (encoder, callee);
              /* We should have moved all the inlines.  */
              gcc_assert (!callee->global.inlined_to);
              add_node_to (encoder, callee);
-             /* Also with each included function include all other functions
-                in the same comdat group.  */
-             if (callee->same_comdat_group)
-               {
-                 struct cgraph_node *next;
-                 for (next = callee->same_comdat_group;
-                      next != callee;
-                      next = next->same_comdat_group)
-                   if (!cgraph_node_in_set_p (next, set))
-                     add_node_to (encoder, next);
-               }
            }
        }
            }
        }
-      /* Also with each included function include all other functions
-        in the same comdat group.  */
-      if (node->same_comdat_group)
-       {
-         struct cgraph_node *next;
-         for (next = node->same_comdat_group;
-              next != node;
-              next = next->same_comdat_group)
-           if (!cgraph_node_in_set_p (next, set))
-             add_node_to (encoder, next);
-       }
     }
 
   /* Write out the nodes.  We must first output a node and then its clones,
     }
 
   /* Write out the nodes.  We must first output a node and then its clones,