]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
reload1.c (init_reload): Only initialize reload_obstack during the first call.
authorJakub Jelinek <jakub@redhat.com>
Mon, 21 Jan 2013 14:55:05 +0000 (15:55 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 21 Jan 2013 14:55:05 +0000 (15:55 +0100)
* reload1.c (init_reload): Only initialize reload_obstack
during the first call.

From-SVN: r195335

gcc/ChangeLog
gcc/reload1.c

index c0c42ed3ad24ff0f837377ae8d3a4c0db4777685..1aec9a377ad44cbf5b935637870f06e4eb0c1647 100644 (file)
@@ -1,3 +1,8 @@
+2013-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * reload1.c (init_reload): Only initialize reload_obstack
+       during the first call.
+
 2013-01-21  Marek Polacek  <polacek@redhat.com>
 
        * cfgloop.c (verify_loop_structure): Fix up grammar.
index 5075da0c4140f3c83f0115c38a142dc5420774f4..cbb945d064ea98cd422eb8c03cd41be036b39ef4 100644 (file)
@@ -468,8 +468,11 @@ init_reload (void)
     }
 
   /* Initialize obstack for our rtl allocation.  */
-  gcc_obstack_init (&reload_obstack);
-  reload_startobj = XOBNEWVAR (&reload_obstack, char, 0);
+  if (reload_startobj == NULL)
+    {
+      gcc_obstack_init (&reload_obstack);
+      reload_startobj = XOBNEWVAR (&reload_obstack, char, 0);
+    }
 
   INIT_REG_SET (&spilled_pseudos);
   INIT_REG_SET (&changed_allocation_pseudos);