diff options
author | Richard Biener <rguenther@suse.de> | 2013-11-29 14:37:07 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-11-29 14:37:07 +0000 |
commit | 6a58cccac65539b1ab89af806b829b5423b6de9a (patch) | |
tree | d8461c2dc057c316e7b6a321c5f73c5134c8fef6 /gcc/tree-ssanames.c | |
parent | 78a14aa81e61e50a667854dc45243188cc861d95 (diff) | |
download | gcc-6a58cccac65539b1ab89af806b829b5423b6de9a.zip gcc-6a58cccac65539b1ab89af806b829b5423b6de9a.tar.gz gcc-6a58cccac65539b1ab89af806b829b5423b6de9a.tar.bz2 |
re PR middle-end/59208 (ice in initialize_flags_in_bb)
2013-11-29 Richard Biener <rguenther@suse.de>
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
Diffstat (limited to 'gcc/tree-ssanames.c')
-rw-r--r-- | gcc/tree-ssanames.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c index ff7639b..4e57697 100644 --- a/gcc/tree-ssanames.c +++ b/gcc/tree-ssanames.c @@ -301,7 +301,7 @@ get_nonzero_bits (const_tree name) other fields must be assumed clobbered. */ void -release_ssa_name (tree var) +release_ssa_name_fn (struct function *fn, tree var) { if (!var) return; @@ -341,7 +341,7 @@ release_ssa_name (tree var) while (imm->next != imm) delink_imm_use (imm->next); - (*SSANAMES (cfun))[SSA_NAME_VERSION (var)] = NULL_TREE; + (*SSANAMES (fn))[SSA_NAME_VERSION (var)] = NULL_TREE; memset (var, 0, tree_size (var)); imm->prev = imm; @@ -363,7 +363,7 @@ release_ssa_name (tree var) SSA_NAME_IN_FREE_LIST (var) = 1; /* And finally put it on the free list. */ - vec_safe_push (FREE_SSANAMES (cfun), var); + vec_safe_push (FREE_SSANAMES (fn), var); } } |