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.h | |
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.h')
-rw-r--r-- | gcc/tree-ssanames.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/tree-ssanames.h b/gcc/tree-ssanames.h index 4f92116..3cb1bda 100644 --- a/gcc/tree-ssanames.h +++ b/gcc/tree-ssanames.h @@ -81,7 +81,7 @@ extern void init_ssanames (struct function *, int); extern void fini_ssanames (void); extern void ssanames_print_statistics (void); extern tree make_ssa_name_fn (struct function *, tree, gimple); -extern void release_ssa_name (tree); +extern void release_ssa_name_fn (struct function *, tree); extern bool get_ptr_info_alignment (struct ptr_info_def *, unsigned int *, unsigned int *); extern void mark_ptr_info_alignment_unknown (struct ptr_info_def *); @@ -127,6 +127,14 @@ duplicate_ssa_name (tree var, gimple stmt) return duplicate_ssa_name_fn (cfun, var, stmt); } +/* Release the SSA name NAME used in function cfun. */ + +static inline void +release_ssa_name (tree name) +{ + release_ssa_name_fn (cfun, name); +} + /* Return an anonymous SSA_NAME node for type TYPE defined in statement STMT in function cfun. Arrange so that it uses NAME in dumps. */ |