cgraph.c: Update overall comment; fix vertical spacing.
authorJan Hubicka <jh@suse.cz>
Wed, 20 Dec 2006 09:12:55 +0000 (10:12 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 20 Dec 2006 09:12:55 +0000 (09:12 +0000)
* cgraph.c: Update overall comment; fix vertical spacing.
* ipa-inline.c (cgraph_decide_inlining): Remove now redundant check.

From-SVN: r120071

gcc/ChangeLog
gcc/cgraph.c
gcc/ipa-inline.c

index 0a36da5f5bda2912592a98297a8135cb49c1aeb6..6cf1a80e8b2834bab64bc1a48e1a0d08417c7726 100644 (file)
@@ -1,4 +1,9 @@
-2006-12-19  Jan Hubicka  <jh@suse.cz>
+2006-12-20  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c: Update overall comment; fix vertical spacing.
+       * ipa-inline.c (cgraph_decide_inlining): Remove now redundant check.
+
+2006-12-20  Jan Hubicka  <jh@suse.cz>
 
        * cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New
        macros.
index 7706098ab3c96ab091a280abc31e88d88668140f..d35b4db5a569ba5b3104a8c8a76ac19e00fcd5e4 100644 (file)
@@ -28,19 +28,11 @@ The callgraph:
     sharing.
 
     The call-graph consist of nodes and edges represented via linked lists.
-    Each function (external or not) corresponds to the unique node (in
-    contrast to tree DECL nodes where we can have multiple nodes for each
-    function).
+    Each function (external or not) corresponds to the unique node.
 
     The mapping from declarations to call-graph nodes is done using hash table
-    based on DECL_ASSEMBLER_NAME, so it is essential for assembler name to
-    not change once the declaration is inserted into the call-graph.
-    The call-graph nodes are created lazily using cgraph_node function when
-    called for unknown declaration.
-
-    When built, there is one edge for each direct call.  It is possible that
-    the reference will be later optimized out.  The call-graph is built
-    conservatively in order to make conservative data flow analysis possible.
+    based on DECL_UID.  The call-graph nodes are created lazily using
+    cgraph_node function when called for unknown declaration.
 
     The callgraph at the moment does not represent indirect calls or calls
     from other compilation unit.  Flag NEEDED is set for each node that may
@@ -156,6 +148,7 @@ eq_node (const void *p1, const void *p2)
 }
 
 /* Allocate new callgraph node and insert it into basic data structures.  */
+
 static struct cgraph_node *
 cgraph_create_node (void)
 {
@@ -175,6 +168,7 @@ cgraph_create_node (void)
 }
 
 /* Return cgraph node assigned to DECL.  Create new one when needed.  */
+
 struct cgraph_node *
 cgraph_node (tree decl)
 {
@@ -295,6 +289,7 @@ cgraph_edge (struct cgraph_node *node, tree call_stmt)
 }
 
 /* Change call_smtt of edge E to NEW_STMT.  */
+
 void
 cgraph_set_call_stmt (struct cgraph_edge *e, tree new_stmt)
 {
index feb104fe63517a9598de2ddff1ca847e1fa5bbb4..ec2438411c930cf77cea04a17f34ca129c5f92eb 100644 (file)
@@ -1041,48 +1041,36 @@ cgraph_decide_inlining (void)
              && node->local.inlinable && node->callers->inline_failed
              && !DECL_EXTERNAL (node->decl) && !DECL_COMDAT (node->decl))
            {
-             bool ok = true;
-             struct cgraph_node *node1;
-
-             /* Verify that we won't duplicate the caller.  */
-             for (node1 = node->callers->caller;
-                  node1->callers && !node1->callers->inline_failed
-                  && ok; node1 = node1->callers->caller)
-               if (node1->callers->next_caller || node1->needed)
-                 ok = false;
-             if (ok)
+             if (dump_file)
+               {
+                 fprintf (dump_file,
+                          "\nConsidering %s %i insns.\n",
+                          cgraph_node_name (node), node->global.insns);
+                 fprintf (dump_file,
+                          " Called once from %s %i insns.\n",
+                          cgraph_node_name (node->callers->caller),
+                          node->callers->caller->global.insns);
+               }
+
+             old_insns = overall_insns;
+
+             if (cgraph_check_inline_limits (node->callers->caller, node,
+                                             NULL, false))
+               {
+                 cgraph_mark_inline (node->callers);
+                 if (dump_file)
+                   fprintf (dump_file,
+                            " Inlined into %s which now has %i insns"
+                            " for a net change of %+i insns.\n",
+                            cgraph_node_name (node->callers->caller),
+                            node->callers->caller->global.insns,
+                            overall_insns - old_insns);
+               }
+             else
                {
                  if (dump_file)
-                   {
-                     fprintf (dump_file,
-                              "\nConsidering %s %i insns.\n",
-                              cgraph_node_name (node), node->global.insns);
-                     fprintf (dump_file,
-                              " Called once from %s %i insns.\n",
-                              cgraph_node_name (node->callers->caller),
-                              node->callers->caller->global.insns);
-                   }
-
-                 old_insns = overall_insns;
-
-                 if (cgraph_check_inline_limits (node->callers->caller, node,
-                                                 NULL, false))
-                   {
-                     cgraph_mark_inline (node->callers);
-                     if (dump_file)
-                       fprintf (dump_file,
-                                " Inlined into %s which now has %i insns"
-                                " for a net change of %+i insns.\n",
-                                cgraph_node_name (node->callers->caller),
-                                node->callers->caller->global.insns,
-                                overall_insns - old_insns);
-                   }
-                 else
-                   {
-                     if (dump_file)
-                       fprintf (dump_file,
-                                " Inline limit reached, not inlined.\n");
-                   }
+                   fprintf (dump_file,
+                            " Inline limit reached, not inlined.\n");
                }
            }
        }