]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Eliminate n_edges macro
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 19 Nov 2013 16:50:04 +0000 (16:50 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 19 Nov 2013 16:50:04 +0000 (16:50 +0000)
* basic-block.h (n_edges_for_function): Rename macro to...
(n_edges_for_fn): ...this.
(n_edges): Eliminate macro as work towards making uses of
cfun be explicit.

* cfg.c (init_flow): Update for renaming of "n_edges_for_function"
to "n_edges_for_fn".

* cfg.c (unchecked_make_edge): Remove usage of n_edges macro.
(clear_edges): Likewise.
(free_edge): Likewise.
* cfghooks.c (dump_flow_info): Likewise.
* cprop.c (is_too_expensive): Likewise.
* df-core.c (df_worklist_dataflow_doublequeue): Likewise.
* gcse.c (is_too_expensive): Likewise.
(prune_insertions_deletions): Likewise.
* mcf.c (create_fixup_graph): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
* tree-cfg.c (gimple_dump_cfg): Likewise.
* var-tracking.c (variable_tracking_main_1): Likewise.

From-SVN: r205044

gcc/ChangeLog
gcc/basic-block.h
gcc/cfg.c
gcc/cfghooks.c
gcc/cprop.c
gcc/df-core.c
gcc/gcse.c
gcc/mcf.c
gcc/sched-rgn.c
gcc/tree-cfg.c
gcc/var-tracking.c

index 9740f62667677222a51a5d35357b5da3e047b7a2..91000ce7cd033ed0f51af8032be17956bb048605 100644 (file)
@@ -1,3 +1,26 @@
+2013-11-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * basic-block.h (n_edges_for_function): Rename macro to...
+       (n_edges_for_fn): ...this.
+       (n_edges): Eliminate macro as work towards making uses of
+       cfun be explicit.
+
+       * cfg.c (init_flow): Update for renaming of "n_edges_for_function"
+       to "n_edges_for_fn".
+
+       * cfg.c (unchecked_make_edge): Remove usage of n_edges macro.
+       (clear_edges): Likewise.
+       (free_edge): Likewise.
+       * cfghooks.c (dump_flow_info): Likewise.
+       * cprop.c (is_too_expensive): Likewise.
+       * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
+       * gcse.c (is_too_expensive): Likewise.
+       (prune_insertions_deletions): Likewise.
+       * mcf.c (create_fixup_graph): Likewise.
+       * sched-rgn.c (haifa_find_rgns): Likewise.
+       * tree-cfg.c (gimple_dump_cfg): Likewise.
+       * var-tracking.c (variable_tracking_main_1): Likewise.
+
 2013-11-19  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
        * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs): Fix over
index d247d4f4509018fee4416d357d72deec98723747..38391beffb388ddda49a46dec2a3923f4a72d5e7 100644 (file)
@@ -316,7 +316,7 @@ struct GTY(()) control_flow_graph {
 #define EXIT_BLOCK_PTR_FOR_FUNCTION(FN)             ((FN)->cfg->x_exit_block_ptr)
 #define basic_block_info_for_function(FN)    ((FN)->cfg->x_basic_block_info)
 #define n_basic_blocks_for_fn(FN)           ((FN)->cfg->x_n_basic_blocks)
-#define n_edges_for_function(FN)            ((FN)->cfg->x_n_edges)
+#define n_edges_for_fn(FN)                  ((FN)->cfg->x_n_edges)
 #define last_basic_block_for_function(FN)    ((FN)->cfg->x_last_basic_block)
 #define label_to_block_map_for_function(FN)  ((FN)->cfg->x_label_to_block_map)
 #define profile_status_for_function(FN)             ((FN)->cfg->x_profile_status)
@@ -330,7 +330,6 @@ struct GTY(()) control_flow_graph {
 #define ENTRY_BLOCK_PTR                (cfun->cfg->x_entry_block_ptr)
 #define EXIT_BLOCK_PTR         (cfun->cfg->x_exit_block_ptr)
 #define basic_block_info       (cfun->cfg->x_basic_block_info)
-#define n_edges                        (cfun->cfg->x_n_edges)
 #define last_basic_block       (cfun->cfg->x_last_basic_block)
 #define label_to_block_map     (cfun->cfg->x_label_to_block_map)
 #define profile_status         (cfun->cfg->x_profile_status)
index 10791a778a25cb3c0d287f0fd59e5268f7c2a60a..166ad38c4969208d8a221c1bfd0a28a7c9570def 100644 (file)
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -69,7 +69,7 @@ init_flow (struct function *the_fun)
 {
   if (!the_fun->cfg)
     the_fun->cfg = ggc_alloc_cleared_control_flow_graph ();
-  n_edges_for_function (the_fun) = 0;
+  n_edges_for_fn (the_fun) = 0;
   ENTRY_BLOCK_PTR_FOR_FUNCTION (the_fun)
     = ggc_alloc_cleared_basic_block_def ();
   ENTRY_BLOCK_PTR_FOR_FUNCTION (the_fun)->index = ENTRY_BLOCK;
@@ -88,7 +88,7 @@ init_flow (struct function *the_fun)
 static void
 free_edge (edge e)
 {
-  n_edges--;
+  n_edges_for_fn (cfun)--;
   ggc_free (e);
 }
 
@@ -114,7 +114,7 @@ clear_edges (void)
   vec_safe_truncate (EXIT_BLOCK_PTR->preds, 0);
   vec_safe_truncate (ENTRY_BLOCK_PTR->succs, 0);
 
-  gcc_assert (!n_edges);
+  gcc_assert (!n_edges_for_fn (cfun));
 }
 \f
 /* Allocate memory for basic_block.  */
@@ -262,7 +262,7 @@ unchecked_make_edge (basic_block src, basic_block dst, int flags)
 {
   edge e;
   e = ggc_alloc_cleared_edge_def ();
-  n_edges++;
+  n_edges_for_fn (cfun)++;
 
   e->src = src;
   e->dest = dst;
index 3016c54a9b10b7fa565d4a984b182a699a4daec0..20b90bfebf3e993efdfbe1eb61cb90ee345ec85d 100644 (file)
@@ -324,7 +324,7 @@ dump_flow_info (FILE *file, int flags)
   basic_block bb;
 
   fprintf (file, "\n%d basic blocks, %d edges.\n", n_basic_blocks_for_fn (cfun),
-          n_edges);
+          n_edges_for_fn (cfun));
   FOR_ALL_BB (bb)
     dump_bb (file, bb, 0, flags);
 
index 78cfeba6fdd3a68d8923be5a83c4a5a6ce1d5732..35a44f28a19b3503b799d53ad457523d45b3ed3e 100644 (file)
@@ -1729,12 +1729,12 @@ is_too_expensive (const char *pass)
      which have a couple switch statements.  Rather than simply
      threshold the number of blocks, uses something with a more
      graceful degradation.  */
-  if (n_edges > 20000 + n_basic_blocks_for_fn (cfun) * 4)
+  if (n_edges_for_fn (cfun) > 20000 + n_basic_blocks_for_fn (cfun) * 4)
     {
       warning (OPT_Wdisabled_optimization,
               "%s: %d basic blocks and %d edges/basic block",
               pass, n_basic_blocks_for_fn (cfun),
-              n_edges / n_basic_blocks_for_fn (cfun));
+              n_edges_for_fn (cfun) / n_basic_blocks_for_fn (cfun));
 
       return true;
     }
index 20d6c4e4fb5b38571783f091a639932fa9c9ab20..37876af7b016b65178cbe1c917635e6e00ffe1eb 100644 (file)
@@ -1097,7 +1097,7 @@ df_worklist_dataflow_doublequeue (struct dataflow *dataflow,
     fprintf (dump_file, "df_worklist_dataflow_doublequeue:"
             "n_basic_blocks %d n_edges %d"
             " count %d (%5.2g)\n",
-            n_basic_blocks_for_fn (cfun), n_edges,
+            n_basic_blocks_for_fn (cfun), n_edges_for_fn (cfun),
             dcount, dcount / (float)n_basic_blocks_for_fn (cfun));
 }
 
index 5ed99bdf169712af54edb5e4bbd5289a5c9cce9e..a37ac6bc1f8d4a12c8c59d77509838d4e8a0bad1 100644 (file)
@@ -1964,7 +1964,7 @@ prune_insertions_deletions (int n_elems)
 
   /* Iterate over the edges counting the number of times each expression
      needs to be inserted.  */
-  for (i = 0; i < (unsigned) n_edges; i++)
+  for (i = 0; i < (unsigned) n_edges_for_fn (cfun); i++)
     {
       EXECUTE_IF_SET_IN_BITMAP (pre_insert_map[i], 0, j, sbi)
        insertions[j]++;
@@ -1990,7 +1990,7 @@ prune_insertions_deletions (int n_elems)
   /* Now prune PRE_INSERT_MAP and PRE_DELETE_MAP based on PRUNE_EXPRS.  */
   EXECUTE_IF_SET_IN_BITMAP (prune_exprs, 0, j, sbi)
     {
-      for (i = 0; i < (unsigned) n_edges; i++)
+      for (i = 0; i < (unsigned) n_edges_for_fn (cfun); i++)
        bitmap_clear_bit (pre_insert_map[i], j);
 
       for (i = 0; i < (unsigned) last_basic_block; i++)
@@ -4069,12 +4069,12 @@ is_too_expensive (const char *pass)
      which have a couple switch statements.  Rather than simply
      threshold the number of blocks, uses something with a more
      graceful degradation.  */
-  if (n_edges > 20000 + n_basic_blocks_for_fn (cfun) * 4)
+  if (n_edges_for_fn (cfun) > 20000 + n_basic_blocks_for_fn (cfun) * 4)
     {
       warning (OPT_Wdisabled_optimization,
               "%s: %d basic blocks and %d edges/basic block",
               pass, n_basic_blocks_for_fn (cfun),
-              n_edges / n_basic_blocks_for_fn (cfun));
+              n_edges_for_fn (cfun) / n_basic_blocks_for_fn (cfun));
 
       return true;
     }
index e0e40d812766befc5e5470a5ab11336233574352..45adda3afc047fc79bade8970081010361a2dd42 100644 (file)
--- a/gcc/mcf.c
+++ b/gcc/mcf.c
@@ -472,11 +472,13 @@ create_fixup_graph (fixup_graph_type *fixup_graph)
 
   /* Each basic_block will be split into 2 during vertex transformation.  */
   int fnum_vertices_after_transform =  2 * n_basic_blocks_for_fn (cfun);
-  int fnum_edges_after_transform = n_edges + n_basic_blocks_for_fn (cfun);
+  int fnum_edges_after_transform =
+    n_edges_for_fn (cfun) + n_basic_blocks_for_fn (cfun);
 
   /* Count the new SOURCE and EXIT vertices to be added.  */
   int fmax_num_vertices =
-    fnum_vertices_after_transform + n_edges + n_basic_blocks_for_fn (cfun) + 2;
+    (fnum_vertices_after_transform + n_edges_for_fn (cfun)
+     + n_basic_blocks_for_fn (cfun) + 2);
 
   /* In create_fixup_graph: Each basic block and edge can be split into 3
      edges. Number of balance edges = n_basic_blocks. So after
@@ -486,7 +488,8 @@ create_fixup_graph (fixup_graph_type *fixup_graph)
      max_edges = 2 * (4 * n_basic_blocks + 3 * n_edges)
      = 8 * n_basic_blocks + 6 * n_edges
      < 8 * n_basic_blocks + 8 * n_edges.  */
-  int fmax_num_edges = 8 * (n_basic_blocks_for_fn (cfun) + n_edges);
+  int fmax_num_edges = 8 * (n_basic_blocks_for_fn (cfun) +
+                           n_edges_for_fn (cfun));
 
   /* Initial num of vertices in the fixup graph.  */
   fixup_graph->num_vertices = n_basic_blocks_for_fn (cfun);
index 20c29c50fc9a419e04d6c936ef5bb71d38173193..87042dd7c1c25112c64ee50a12551c7d895af93f 100644 (file)
@@ -643,7 +643,7 @@ haifa_find_rgns (void)
   /* Allocate and initialize variables for the first traversal.  */
   max_hdr = XNEWVEC (int, last_basic_block);
   dfs_nr = XCNEWVEC (int, last_basic_block);
-  stack = XNEWVEC (edge_iterator, n_edges);
+  stack = XNEWVEC (edge_iterator, n_edges_for_fn (cfun));
 
   inner = sbitmap_alloc (last_basic_block);
   bitmap_ones (inner);
index c30b113bc241666589ad3334376c73ec7117520d..d2af39e2bbe64c213794b3212e99880d2545380c 100644 (file)
@@ -2106,7 +2106,8 @@ gimple_dump_cfg (FILE *file, int flags)
     {
       dump_function_header (file, current_function_decl, flags);
       fprintf (file, ";; \n%d basic blocks, %d edges, last basic block %d.\n\n",
-              n_basic_blocks_for_fn (cfun), n_edges, last_basic_block);
+              n_basic_blocks_for_fn (cfun), n_edges_for_fn (cfun),
+              last_basic_block);
 
       brief_dump_cfg (file, flags | TDF_COMMENT);
       fprintf (file, "\n");
index a569d468ec3a38da077faa63db79abad581a7c4d..cfda63a0682d4df204edddef4a30545a231ccb3d 100644 (file)
@@ -10161,7 +10161,7 @@ variable_tracking_main_1 (void)
     }
 
   if (n_basic_blocks_for_fn (cfun) > 500 &&
-      n_edges / n_basic_blocks_for_fn (cfun) >= 20)
+      n_edges_for_fn (cfun) / n_basic_blocks_for_fn (cfun) >= 20)
     {
       vt_debug_insns_local (true);
       return 0;