lto-streamer-out.c (DFS::sccstack): Turn into auto-vec.
authorJan Hubicka <jh@suse.cz>
Wed, 20 Nov 2019 14:10:41 +0000 (15:10 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 20 Nov 2019 14:10:41 +0000 (14:10 +0000)
* lto-streamer-out.c (DFS::sccstack): Turn into auto-vec.
Preallocate for 32 entries.
(DFS::worklist): Likewise.
(DFS::DFS): Do not initialize sccstack and worklist.
(DFS::~DFS): Do not release sccstack.

From-SVN: r278498

gcc/ChangeLog
gcc/lto-streamer-out.c

index dc377af56d9ec885f49f0631b987e7d6261445b6..c8f1928eb2d55d390de467c0c7b2a93476b3bc03 100644 (file)
@@ -1,3 +1,11 @@
+2019-11-20  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-out.c (DFS::sccstack): Turn into auto-vec.
+       Preallocate for 32 entries.
+       (DFS::worklist): Likewise.
+       (DFS::DFS): Do not initialize sccstack and worklist.
+       (DFS::~DFS): Do not release sccstack.
+
 2019-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
 
        PR target/92573
index cf45cc3af6446f3da4c431374f6a3d7dcb3ea950..b32f014cf706127a619ac9d6feed6da874258ef6 100644 (file)
@@ -514,7 +514,7 @@ public:
     tree t;
     hashval_t hash;
   };
-  vec<scc_entry> sccstack;
+  auto_vec<scc_entry,32> sccstack;
 
 private:
   struct sccs
@@ -544,7 +544,7 @@ private:
            bool ref_p, bool this_ref_p);
 
   hash_map<tree, sccs *> sccstate;
-  vec<worklist> worklist_vec;
+  auto_vec<worklist, 32> worklist_vec;
   struct obstack sccstate_obstack;
 };
 
@@ -558,9 +558,7 @@ DFS::DFS (struct output_block *ob, tree expr, bool ref_p, bool this_ref_p,
          bool single_p)
 {
   unsigned int next_dfs_num = 1;
-  sccstack.create (0);
   gcc_obstack_init (&sccstate_obstack);
-  worklist_vec = vNULL;
   DFS_write_tree (ob, NULL, expr, ref_p, this_ref_p);
   while (!worklist_vec.is_empty ())
     {
@@ -735,12 +733,10 @@ DFS::DFS (struct output_block *ob, tree expr, bool ref_p, bool this_ref_p,
        from_state->low = MIN (cstate->dfsnum, from_state->low);
       worklist_vec.pop ();
     }
-  worklist_vec.release ();
 }
 
 DFS::~DFS ()
 {
-  sccstack.release ();
   obstack_free (&sccstate_obstack, NULL);
 }