aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssanames.h
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.h
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.h')
-rw-r--r--gcc/tree-ssanames.h10
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. */