From 6a58cccac65539b1ab89af806b829b5423b6de9a Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 29 Nov 2013 14:37:07 +0000 Subject: re PR middle-end/59208 (ice in initialize_flags_in_bb) 2013-11-29 Richard Biener PR middle-end/59208 * tree-ssa-operands.h (fini_ssa_operands, verify_ssa_operands, free_stmt_operands, update_stmt_operands): Add struct function argument. * tree-ssa-operands.c: Remove uses of cfun, propagate struct function argument from fini_ssa_operands, verify_ssa_operands, free_stmt_operands and update_stmt_operands everywhere. * tree-ssanames.h (release_ssa_name_fn): New. (release_ssa_name): Inline wrapper around release_ssa_name_fn. * tree-ssanames.c (release_ssa_name): Rename to ... (release_ssa_name_fn): ... this and add struct function argument. * gimple-ssa.h (update_stmt, update_stmt_if_modified): Adjust. (update_stmt_fn): New function. * tree-cfg.c (move_block_to_fn): Adjust. * tree-if-conv.c (free_bb_predicate): Likewise. * tree-ssa.c (verify_ssa): Likewise. (delete_tree_ssa): Likewise. * gimple-pretty-print.c (dump_gimple_mem_ops): Remove guard. * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Call update_stmt_fn instead of update_stmt. * g++.dg/torture/pr59208.C: New testcase. From-SVN: r205528 --- gcc/tree-cfg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/tree-cfg.c') diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 605990e..6d1ebe6 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -6540,7 +6540,7 @@ move_block_to_fn (struct function *dest_cfun, basic_block bb, /* We cannot leave any operands allocated from the operand caches of the current function. */ - free_stmt_operands (stmt); + free_stmt_operands (cfun, stmt); push_cfun (dest_cfun); update_stmt (stmt); pop_cfun (); -- cgit v1.1