aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2015-11-04 17:50:45 +0100
committerMartin Liska <marxin@gcc.gnu.org>2015-11-04 16:50:45 +0000
commitbe373510f80fc6fc1e7b227056a69b703ce1c7a4 (patch)
tree316a2296cdfe0b08198dd411e536b7787022ff04 /gcc/function.c
parenta6c764d02ec7716720ceac34b667cda3741c5c42 (diff)
downloadgcc-be373510f80fc6fc1e7b227056a69b703ce1c7a4.zip
gcc-be373510f80fc6fc1e7b227056a69b703ce1c7a4.tar.gz
gcc-be373510f80fc6fc1e7b227056a69b703ce1c7a4.tar.bz2
Pass manager: add support for termination of pass list
* cgraphunit.c (cgraph_node::expand_thunk): Call allocate_struct_function before init_function_start. (cgraph_node::expand): Use push_cfun and pop_cfun. * config/i386/i386.c (ix86_code_end): Call allocate_struct_function before init_function_start. * config/rs6000/rs6000.c (rs6000_code_end): Likewise. * function.c (init_function_start): Move preamble to all callers. * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun. (execute_one_pass): Handle newly added TODO_discard_function. (execute_pass_list_1): Terminate if cfun equals to NULL. (execute_pass_list): Do not push and pop cfun, expect that cfun is set. * tree-pass.h (TODO_discard_function): Define. From-SVN: r229764
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/function.c b/gcc/function.c
index aaf49a4..0d7cabc 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -4957,11 +4957,6 @@ init_dummy_function_start (void)
void
init_function_start (tree subr)
{
- if (subr && DECL_STRUCT_FUNCTION (subr))
- set_cfun (DECL_STRUCT_FUNCTION (subr));
- else
- allocate_struct_function (subr, false);
-
/* Initialize backend, if needed. */
initialize_rtl ();