aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-06-26 04:28:37 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-06-26 02:28:37 +0000
commitb9b5f43367ced552bdd92808fa3a38cb55cb2fd3 (patch)
tree3eaf13ad99f89c77885a9dbdccb807978ff0d594 /gcc/function.c
parent3b89b26ef67f19fc775a2f923dfb4f6200d981f5 (diff)
downloadgcc-b9b5f43367ced552bdd92808fa3a38cb55cb2fd3.zip
gcc-b9b5f43367ced552bdd92808fa3a38cb55cb2fd3.tar.gz
gcc-b9b5f43367ced552bdd92808fa3a38cb55cb2fd3.tar.bz2
toplev.c (backend_init_target): Move init_emit_regs and init_regs to...
* toplev.c (backend_init_target): Move init_emit_regs and init_regs to... (backend_init) ... here; skip ira_init_once and backend_init_target. (target_reinit) ... and here; clear this_target_rtl->lang_dependent_initialized. (lang_dependent_init_target): Clear this_target_rtl->lang_dependent_initialized; break out rtl initialization to ... (initialize_rtl): ... here; call also backend_init_target and ira_init_once. * toplev.h (initialize_rtl): New function. * function.c: Include toplev.h (init_function_start): Call initialize_rtl. * rtl.h (target_rtl): Add target_specific_initialized, lang_dependent_initialized. From-SVN: r212007
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 441289e..001c579 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -64,6 +64,7 @@ along with GCC; see the file COPYING3. If not see
#include "params.h"
#include "bb-reorder.h"
#include "shrink-wrap.h"
+#include "toplev.h"
/* So we can assign to cfun in this file. */
#undef cfun
@@ -4630,6 +4631,10 @@ init_function_start (tree subr)
set_cfun (DECL_STRUCT_FUNCTION (subr));
else
allocate_struct_function (subr, false);
+
+ /* Initialize backend, if needed. */
+ initialize_rtl ();
+
prepare_function_start ();
decide_function_section (subr);