df-problems.c (df_rd_local_compute): Use bitmap_release.
authorRichard Biener <rguenther@suse.de>
Thu, 6 Dec 2018 11:32:52 +0000 (11:32 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 6 Dec 2018 11:32:52 +0000 (11:32 +0000)
2018-12-06  Richard Biener  <rguenther@suse.de>

* df-problems.c (df_rd_local_compute): Use bitmap_release.
(df_live_free): Likewise.
(df_md_local_compute): Likewise.
(df_md_free): Release df_md_scratch bitmap.
* loop-invariant.c (calculate_loop_reg_pressure): Use
bitmap_release.
* sched-deps.c (true_dependency_cache, output_dependency_cache,
anti_dependency_cache, control_dependency_cache,
spec_dependency_cache): Use bitmap instead of bitmap_head *.
* sched-ebb.c (schedule_ebbs_init): Initialize non-GTY
dont_calc_deps as bitmap allocated from obstack not GC.
(schedule_ebbs_finish): Use bitmap_release.
* sched-rgn.c (schedule_insns): Initialize non-GTY
not_in_df as bitmap allocated from obstack not GC.
Use bitmap_release.
* sel-sched.c (_forced_ebb_heads): Remove premature optimization.
(sel_region_init): Allocate forced_ebb_heads.
(sel_region_finish): Free forced_ebb_heads.

From-SVN: r266851

gcc/ChangeLog
gcc/df-problems.c
gcc/loop-invariant.c
gcc/sched-deps.c
gcc/sched-ebb.c
gcc/sched-rgn.c
gcc/sel-sched.c

index e52f2f946f698c2ba132e980ac381e6f30461847..168929181dd95e83043c9d6c9212c8fcea64eb1f 100644 (file)
@@ -1,3 +1,24 @@
+2018-12-06  Richard Biener  <rguenther@suse.de>
+
+       * df-problems.c (df_rd_local_compute): Use bitmap_release.
+       (df_live_free): Likewise.
+       (df_md_local_compute): Likewise.
+       (df_md_free): Release df_md_scratch bitmap.
+       * loop-invariant.c (calculate_loop_reg_pressure): Use
+       bitmap_release.
+       * sched-deps.c (true_dependency_cache, output_dependency_cache,
+       anti_dependency_cache, control_dependency_cache,
+       spec_dependency_cache): Use bitmap instead of bitmap_head *.
+       * sched-ebb.c (schedule_ebbs_init): Initialize non-GTY
+       dont_calc_deps as bitmap allocated from obstack not GC.
+       (schedule_ebbs_finish): Use bitmap_release.
+       * sched-rgn.c (schedule_insns): Initialize non-GTY
+       not_in_df as bitmap allocated from obstack not GC.
+       Use bitmap_release.
+       * sel-sched.c (_forced_ebb_heads): Remove premature optimization.
+       (sel_region_init): Allocate forced_ebb_heads.
+       (sel_region_finish): Free forced_ebb_heads.
+
 2018-12-06  Richard Biener  <rguenther@suse.de>
 
        * bitmap.c (bitmap_head::crashme): Define.
index 7ccb57c287aed5d2bbde17f3d3757b6050c951ab..ccab9a96bd74ab3b9d312e2d45cdfc80ebc3cc1a 100644 (file)
@@ -419,8 +419,8 @@ df_rd_local_compute (bitmap all_blocks)
        }
     }
 
-  bitmap_clear (&seen_in_block);
-  bitmap_clear (&seen_in_insn);
+  bitmap_release (&seen_in_block);
+  bitmap_release (&seen_in_insn);
 }
 
 
@@ -1585,7 +1585,7 @@ df_live_free (void)
       df_live->block_info_size = 0;
       free (df_live->block_info);
       df_live->block_info = NULL;
-      bitmap_clear (&df_live_scratch);
+      bitmap_release (&df_live_scratch);
       bitmap_obstack_release (&problem_data->live_bitmaps);
       free (problem_data);
       df_live->problem_data = NULL;
@@ -4533,7 +4533,7 @@ df_md_local_compute (bitmap all_blocks)
       df_md_bb_local_compute (bb_index);
     }
 
-  bitmap_clear (&seen_in_insn);
+  bitmap_release (&seen_in_insn);
 
   frontiers = XNEWVEC (bitmap_head, last_basic_block_for_fn (cfun));
   FOR_ALL_BB_FN (bb, cfun)
@@ -4649,6 +4649,7 @@ df_md_free (void)
   struct df_md_problem_data *problem_data
     = (struct df_md_problem_data *) df_md->problem_data;
 
+  bitmap_release (&df_md_scratch);
   bitmap_obstack_release (&problem_data->md_bitmaps);
   free (problem_data);
   df_md->problem_data = NULL;
index e3b2eda1695d6b80202ced7c23847a39ee4a3aa3..5bd6fc771eeb414840c9323a7db3c5c67d390ba9 100644 (file)
@@ -2201,7 +2201,7 @@ calculate_loop_reg_pressure (void)
            }
        }
     }
-  bitmap_clear (&curr_regs_live);
+  bitmap_release (&curr_regs_live);
   if (flag_ira_region == IRA_REGION_MIXED
       || flag_ira_region == IRA_REGION_ALL)
     FOR_EACH_LOOP (loop, 0)
index f89f28269fd5ecf96688ed255d07b6976d2180c4..dfdf5cc889522a6decccd5018398d1f1cb5327c9 100644 (file)
@@ -461,11 +461,11 @@ static HARD_REG_SET implicit_reg_pending_uses;
    has enough entries to represent a dependency on any other insn in
    the insn chain.  All bitmap for true dependencies cache is
    allocated then the rest two ones are also allocated.  */
-static bitmap_head *true_dependency_cache = NULL;
-static bitmap_head *output_dependency_cache = NULL;
-static bitmap_head *anti_dependency_cache = NULL;
-static bitmap_head *control_dependency_cache = NULL;
-static bitmap_head *spec_dependency_cache = NULL;
+static bitmap true_dependency_cache = NULL;
+static bitmap output_dependency_cache = NULL;
+static bitmap anti_dependency_cache = NULL;
+static bitmap control_dependency_cache = NULL;
+static bitmap spec_dependency_cache = NULL;
 static int cache_size;
 
 /* True if we should mark added dependencies as a non-register deps.  */
index c3be0e3385580c10b4702b6ef5c31d5a1011da26..49ae2865419170e69c43ca3592ac48b27c243b36 100644 (file)
@@ -588,15 +588,14 @@ schedule_ebbs_init (void)
   compute_bb_for_insn ();
 
   /* Initialize DONT_CALC_DEPS and ebb-{start, end} markers.  */
-  bitmap_initialize (&dont_calc_deps, 0);
-  bitmap_clear (&dont_calc_deps);
+  bitmap_initialize (&dont_calc_deps, &bitmap_default_obstack);
 }
 
 /* Perform cleanups after scheduling using schedules_ebbs or schedule_ebb.  */
 void
 schedule_ebbs_finish (void)
 {
-  bitmap_clear (&dont_calc_deps);
+  bitmap_release (&dont_calc_deps);
 
   /* Reposition the prologue and epilogue notes in case we moved the
      prologue/epilogue insns.  */
index 3c67fccb9b18a5efead9fb29efdcab72e4754574..ea8dd5c7b76512165df8ea46a1e7cf9213f1b9f4 100644 (file)
@@ -3507,8 +3507,7 @@ schedule_insns (void)
   haifa_sched_init ();
   sched_rgn_init (reload_completed);
 
-  bitmap_initialize (&not_in_df, 0);
-  bitmap_clear (&not_in_df);
+  bitmap_initialize (&not_in_df, &bitmap_default_obstack);
 
   /* Schedule every region in the subroutine.  */
   for (rgn = 0; rgn < nr_regions; rgn++)
@@ -3517,7 +3516,7 @@ schedule_insns (void)
 
   /* Clean up.  */
   sched_rgn_finish ();
-  bitmap_clear (&not_in_df);
+  bitmap_release (&not_in_df);
 
   haifa_sched_finish ();
 }
index 824f1ec3403d96367afc5274d2d0f422202320c1..e57a8f2dceff2a1372c8a1370b733118f1e01a76 100644 (file)
@@ -473,8 +473,7 @@ static int first_emitted_uid;
 
 /* Set of basic blocks that are forced to start new ebbs.  This is a subset
    of all the ebb heads.  */
-static bitmap_head _forced_ebb_heads;
-bitmap_head *forced_ebb_heads = &_forced_ebb_heads;
+bitmap forced_ebb_heads;
 
 /* Blocks that need to be rescheduled after pipelining.  */
 bitmap blocks_to_reschedule = NULL;
@@ -6947,8 +6946,7 @@ sel_region_init (int rgn)
   memset (reg_rename_tick, 0, sizeof reg_rename_tick);
   reg_rename_this_tick = 0;
 
-  bitmap_initialize (forced_ebb_heads, 0);
-  bitmap_clear (forced_ebb_heads);
+  forced_ebb_heads = BITMAP_ALLOC (NULL);
 
   setup_nop_vinsn ();
   current_copies = BITMAP_ALLOC (NULL);
@@ -7290,7 +7288,7 @@ sel_region_finish (bool reset_sched_cycles_p)
 
   sel_finish_global_and_expr ();
 
-  bitmap_clear (forced_ebb_heads);
+  BITMAP_FREE (forced_ebb_heads);
 
   free_nop_vinsn ();