aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssanames.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2013-11-29 14:37:07 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2013-11-29 14:37:07 +0000
commit6a58cccac65539b1ab89af806b829b5423b6de9a (patch)
treed8461c2dc057c316e7b6a321c5f73c5134c8fef6 /gcc/tree-ssanames.c
parent78a14aa81e61e50a667854dc45243188cc861d95 (diff)
downloadgcc-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.c6
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);
}
}