aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-21 14:55:05 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2013-01-21 14:55:05 +0000
commitcd5c8367df081fed0cc8444e3f850be72ba80081 (patch)
tree52f2202ae1d2a1e12e7744b3aaf6e3d6efb12ef7
parentdcb14b6190f2840b987ea922cc4e58bce5f761f0 (diff)
* reload1.c (init_reload): Only initialize reload_obstack
during the first call. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195335 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload1.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c0c42ed3ad2..1aec9a377ad 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 5075da0c414..cbb945d064e 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -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);