summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-23 13:08:15 +0000
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>2008-09-23 13:08:15 +0000
commit74140efd05d39fbd8aa69c996e30f451ac71691b (patch)
tree713f8a64e6ccf7e7bfd5473edd43495fd7cb70d1
parent1df7bc0debe2b5146b1f3bafe84e8e2abf323f06 (diff)
downloadgcc-74140efd05d39fbd8aa69c996e30f451ac71691b.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140590 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog15
-rw-r--r--gcc/cgraph.c12
-rw-r--r--gcc/doc/gimple.texi10
-rw-r--r--gcc/gimple.c2
-rw-r--r--gcc/gimple.h2
-rw-r--r--gcc/ipa-cp.c2
-rw-r--r--gcc/ipa-prop.c6
7 files changed, 32 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cae9404596e..0f04eb4022a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,18 @@
+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>
* ira-color.c (start_allocno_priorities): Rename to
diff --git a/gcc/cgraph.c b/gcc/cgraph.c
index 90359a46b1f..163ab9dd39f 100644
--- a/gcc/cgraph.c
+++ b/gcc/cgraph.c
@@ -752,7 +752,7 @@ cgraph_free_edge (struct cgraph_edge *e)
int uid = e->uid;
/* Clear out the edge so we do not dangle pointers. */
- memset (e, 0, sizeof (e));
+ memset (e, 0, sizeof (*e));
e->uid = uid;
NEXT_FREE_EDGE (e) = free_edges;
free_edges = e;
@@ -846,13 +846,14 @@ cgraph_update_edges_for_call_stmt (gimple old_stmt, gimple new_stmt)
void
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
the callees. The callee list of the node can be zapped with one
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_edge_remove_callee (e);
cgraph_free_edge (e);
@@ -870,13 +871,14 @@ cgraph_node_remove_callees (struct cgraph_node *node)
static void
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
the callers. The caller list of the node can be zapped with one
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_edge_remove_caller (e);
cgraph_free_edge (e);
diff --git a/gcc/doc/gimple.texi b/gcc/doc/gimple.texi
index 8277a8ca715..06d2186d182 100644
--- a/gcc/doc/gimple.texi
+++ b/gcc/doc/gimple.texi
@@ -875,11 +875,6 @@ Update statement @code{S} if it has been marked modified.
Return a deep copy of statement @code{STMT}.
@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
@section Tuple specific accessors
@cindex Tuple specific accessors
@@ -1261,6 +1256,11 @@ Return true if @code{GIMPLE_CALL} @code{S} cannot be inlined.
Return true if @code{S} is a noreturn call.
@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}
@subsection @code{GIMPLE_CATCH}
diff --git a/gcc/gimple.c b/gcc/gimple.c
index f6a14505658..47b9c9aff04 100644
--- a/gcc/gimple.c
+++ b/gcc/gimple.c
@@ -3192,7 +3192,7 @@ canonicalize_cond_expr_cond (tree t)
the positions marked by the set ARGS_TO_SKIP. */
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;
tree fn = gimple_call_fn (stmt);
diff --git a/gcc/gimple.h b/gcc/gimple.h
index 85fc75e0a52..a390590d705 100644
--- a/gcc/gimple.h
+++ b/gcc/gimple.h
@@ -4479,7 +4479,7 @@ basic_block gsi_insert_on_edge_immediate (edge, gimple);
basic_block gsi_insert_seq_on_edge_immediate (edge, gimple_seq);
void gsi_commit_one_edge_insert (edge, basic_block *);
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.
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 46981972f16..f6864bb43fa 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -967,7 +967,7 @@ ipcp_update_callgraph (void)
current_function_decl = 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);
gsi = gsi_for_stmt (cs->call_stmt);
gsi_replace (&gsi, new_stmt, true);
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index e741feb833e..16d9bede1ca 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -1108,8 +1108,7 @@ ipa_free_all_node_params (void)
/* Hook that is called by cgraph.c when an edge is removed. */
static void
-ipa_edge_removal_hook (struct cgraph_edge *cs,
- void *data __attribute__ ((unused)))
+ipa_edge_removal_hook (struct cgraph_edge *cs, void *data ATTRIBUTE_UNUSED)
{
/* During IPA-CP updating we can be called on not-yet analyze clones. */
if (VEC_length (ipa_edge_args_t, ipa_edge_args_vector)
@@ -1121,8 +1120,7 @@ ipa_edge_removal_hook (struct cgraph_edge *cs,
/* Hook that is called by cgraph.c when a node is removed. */
static void
-ipa_node_removal_hook (struct cgraph_node *node,
- void *data __attribute__ ((unused)))
+ipa_node_removal_hook (struct cgraph_node *node, void *data ATTRIBUTE_UNUSED)
{
ipa_free_node_params_substructures (IPA_NODE_REF (node));
}