Commit 5c0466b5 by Martin Jambor Committed by Martin Jambor

cgraph.c (cgraph_free_edge): Use sizeof(*e).

2008-09-23  Martin Jambor  <mjambor@suse.cz>

	* cgraph.c (cgraph_free_edge): Use sizeof(*e).
	(cgraph_node_remove_callees): New temporary f.  Hold the next item
	in f when looping.
	(cgraph_node_remove_callers): Likewise.

	* ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
	(ipa_node_removal_hook): Likewise.

	* doc/gimple.texi (gimple_copy_call_skip_args): Changed to
	gimple_call_copy_skip_args and moved to the gimple_call section.
	* gimple.c (gimple_copy_call_skip_args): Renamed to
	gimple_call_copy_skip_args.  Changed al users.

From-SVN: r140590
parent 4a2095e2
2008-09-23 Martin Jambor <mjambor@suse.cz>
* cgraph.c (cgraph_free_edge): Use sizeof(*e).
(cgraph_node_remove_callees): New temporary f. Hold the next item
in f when looping.
(cgraph_node_remove_callers): Likewise.
* ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
(ipa_node_removal_hook): Likewise.
* doc/gimple.texi (gimple_copy_call_skip_args): Changed to
gimple_call_copy_skip_args and moved to the gimple_call section.
* gimple.c (gimple_copy_call_skip_args): Renamed to
gimple_call_copy_skip_args. Changed al users.
2008-09-22 Vladimir Makarov <vmakarov@redhat.com> 2008-09-22 Vladimir Makarov <vmakarov@redhat.com>
* ira-color.c (start_allocno_priorities): Rename to * ira-color.c (start_allocno_priorities): Rename to
......
...@@ -752,7 +752,7 @@ cgraph_free_edge (struct cgraph_edge *e) ...@@ -752,7 +752,7 @@ cgraph_free_edge (struct cgraph_edge *e)
int uid = e->uid; int uid = e->uid;
/* Clear out the edge so we do not dangle pointers. */ /* Clear out the edge so we do not dangle pointers. */
memset (e, 0, sizeof (e)); memset (e, 0, sizeof (*e));
e->uid = uid; e->uid = uid;
NEXT_FREE_EDGE (e) = free_edges; NEXT_FREE_EDGE (e) = free_edges;
free_edges = e; free_edges = e;
...@@ -846,13 +846,14 @@ cgraph_update_edges_for_call_stmt (gimple old_stmt, gimple new_stmt) ...@@ -846,13 +846,14 @@ cgraph_update_edges_for_call_stmt (gimple old_stmt, gimple new_stmt)
void void
cgraph_node_remove_callees (struct cgraph_node *node) cgraph_node_remove_callees (struct cgraph_node *node)
{ {
struct cgraph_edge *e; struct cgraph_edge *e, *f;
/* It is sufficient to remove the edges from the lists of callers of /* It is sufficient to remove the edges from the lists of callers of
the callees. The callee list of the node can be zapped with one the callees. The callee list of the node can be zapped with one
assignment. */ assignment. */
for (e = node->callees; e; e = e->next_callee) for (e = node->callees; e; e = f)
{ {
f = e->next_callee;
cgraph_call_edge_removal_hooks (e); cgraph_call_edge_removal_hooks (e);
cgraph_edge_remove_callee (e); cgraph_edge_remove_callee (e);
cgraph_free_edge (e); cgraph_free_edge (e);
...@@ -870,13 +871,14 @@ cgraph_node_remove_callees (struct cgraph_node *node) ...@@ -870,13 +871,14 @@ cgraph_node_remove_callees (struct cgraph_node *node)
static void static void
cgraph_node_remove_callers (struct cgraph_node *node) cgraph_node_remove_callers (struct cgraph_node *node)
{ {
struct cgraph_edge *e; struct cgraph_edge *e, *f;
/* It is sufficient to remove the edges from the lists of callees of /* It is sufficient to remove the edges from the lists of callees of
the callers. The caller list of the node can be zapped with one the callers. The caller list of the node can be zapped with one
assignment. */ assignment. */
for (e = node->callers; e; e = e->next_caller) for (e = node->callers; e; e = f)
{ {
f = e->next_caller;
cgraph_call_edge_removal_hooks (e); cgraph_call_edge_removal_hooks (e);
cgraph_edge_remove_caller (e); cgraph_edge_remove_caller (e);
cgraph_free_edge (e); cgraph_free_edge (e);
......
...@@ -875,11 +875,6 @@ Update statement @code{S} if it has been marked modified. ...@@ -875,11 +875,6 @@ Update statement @code{S} if it has been marked modified.
Return a deep copy of statement @code{STMT}. Return a deep copy of statement @code{STMT}.
@end deftypefn @end deftypefn
@deftypefn {GIMPLE function} gimple gimple_copy_call_skip_args (gimple stmt, bitmap args_to_skip)
Build a @code{GIMPLE_CALL} identical to @code{STMT} but skipping the arguments
in the positions marked by the set @code{ARGS_TO_SKIP}.
@end deftypefn
@node Tuple specific accessors @node Tuple specific accessors
@section Tuple specific accessors @section Tuple specific accessors
@cindex Tuple specific accessors @cindex Tuple specific accessors
...@@ -1261,6 +1256,11 @@ Return true if @code{GIMPLE_CALL} @code{S} cannot be inlined. ...@@ -1261,6 +1256,11 @@ Return true if @code{GIMPLE_CALL} @code{S} cannot be inlined.
Return true if @code{S} is a noreturn call. Return true if @code{S} is a noreturn call.
@end deftypefn @end deftypefn
@deftypefn {GIMPLE function} gimple gimple_call_copy_skip_args (gimple stmt, bitmap args_to_skip)
Build a @code{GIMPLE_CALL} identical to @code{STMT} but skipping the arguments
in the positions marked by the set @code{ARGS_TO_SKIP}.
@end deftypefn
@node @code{GIMPLE_CATCH} @node @code{GIMPLE_CATCH}
@subsection @code{GIMPLE_CATCH} @subsection @code{GIMPLE_CATCH}
......
...@@ -3192,7 +3192,7 @@ canonicalize_cond_expr_cond (tree t) ...@@ -3192,7 +3192,7 @@ canonicalize_cond_expr_cond (tree t)
the positions marked by the set ARGS_TO_SKIP. */ the positions marked by the set ARGS_TO_SKIP. */
gimple gimple
gimple_copy_call_skip_args (gimple stmt, bitmap args_to_skip) gimple_call_copy_skip_args (gimple stmt, bitmap args_to_skip)
{ {
int i; int i;
tree fn = gimple_call_fn (stmt); tree fn = gimple_call_fn (stmt);
......
...@@ -4479,7 +4479,7 @@ basic_block gsi_insert_on_edge_immediate (edge, gimple); ...@@ -4479,7 +4479,7 @@ basic_block gsi_insert_on_edge_immediate (edge, gimple);
basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq); basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq);
void gsi_commit_one_edge_insert (edge, basic_block *); void gsi_commit_one_edge_insert (edge, basic_block *);
void gsi_commit_edge_inserts (void); void gsi_commit_edge_inserts (void);
gimple gimple_copy_call_skip_args (gimple, bitmap); gimple gimple_call_copy_skip_args (gimple, bitmap);
/* Convenience routines to walk all statements of a gimple function. /* Convenience routines to walk all statements of a gimple function.
......
...@@ -967,7 +967,7 @@ ipcp_update_callgraph (void) ...@@ -967,7 +967,7 @@ ipcp_update_callgraph (void)
current_function_decl = cs->caller->decl; current_function_decl = cs->caller->decl;
push_cfun (DECL_STRUCT_FUNCTION (cs->caller->decl)); push_cfun (DECL_STRUCT_FUNCTION (cs->caller->decl));
new_stmt = gimple_copy_call_skip_args (cs->call_stmt, new_stmt = gimple_call_copy_skip_args (cs->call_stmt,
args_to_skip); args_to_skip);
gsi = gsi_for_stmt (cs->call_stmt); gsi = gsi_for_stmt (cs->call_stmt);
gsi_replace (&gsi, new_stmt, true); gsi_replace (&gsi, new_stmt, true);
......
...@@ -1108,8 +1108,7 @@ ipa_free_all_node_params (void) ...@@ -1108,8 +1108,7 @@ ipa_free_all_node_params (void)
/* Hook that is called by cgraph.c when an edge is removed. */ /* Hook that is called by cgraph.c when an edge is removed. */
static void static void
ipa_edge_removal_hook (struct cgraph_edge *cs, ipa_edge_removal_hook (struct cgraph_edge *cs, void *data ATTRIBUTE_UNUSED)
void *data __attribute__ ((unused)))
{ {
/* During IPA-CP updating we can be called on not-yet analyze clones. */ /* During IPA-CP updating we can be called on not-yet analyze clones. */
if (VEC_length (ipa_edge_args_t, ipa_edge_args_vector) if (VEC_length (ipa_edge_args_t, ipa_edge_args_vector)
...@@ -1121,8 +1120,7 @@ ipa_edge_removal_hook (struct cgraph_edge *cs, ...@@ -1121,8 +1120,7 @@ ipa_edge_removal_hook (struct cgraph_edge *cs,
/* Hook that is called by cgraph.c when a node is removed. */ /* Hook that is called by cgraph.c when a node is removed. */
static void static void
ipa_node_removal_hook (struct cgraph_node *node, ipa_node_removal_hook (struct cgraph_node *node, void *data ATTRIBUTE_UNUSED)
void *data __attribute__ ((unused)))
{ {
ipa_free_node_params_substructures (IPA_NODE_REF (node)); ipa_free_node_params_substructures (IPA_NODE_REF (node));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment