aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2010-02-10 12:22:55 +0100
committerMartin Jambor <jamborm@gcc.gnu.org>2010-02-10 12:22:55 +0100
commit563cb662c833b2233b5682bcc55e99cf584de1a4 (patch)
treeac8bd2ff11d01b44607780ce7f522dc59dfda98e /gcc/ipa-prop.c
parent9e3c399e02e1049797557c7d04abe369a2df1bc0 (diff)
downloadgcc-563cb662c833b2233b5682bcc55e99cf584de1a4.zip
gcc-563cb662c833b2233b5682bcc55e99cf584de1a4.tar.gz
gcc-563cb662c833b2233b5682bcc55e99cf584de1a4.tar.bz2
re PR lto/42985 (Internal compiler error: in ipcp_iterate_stage with different opt level)
2010-02-10 Martin Jambor <mjambor@suse.cz> PR lto/42985 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and check for variable argument counts independently. From-SVN: r156651
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r--gcc/ipa-prop.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 9fbd9d8..71f79bd 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -2206,17 +2206,17 @@ ipa_update_after_lto_read (void)
ipa_check_create_edge_args ();
for (node = cgraph_nodes; node; node = node->next)
- {
- if (!node->analyzed)
- continue;
+ if (node->analyzed)
ipa_initialize_node_params (node);
+
+ for (node = cgraph_nodes; node; node = node->next)
+ if (node->analyzed)
for (cs = node->callees; cs; cs = cs->next_callee)
{
if (ipa_get_cs_argument_count (IPA_EDGE_REF (cs))
!= ipa_get_param_count (IPA_NODE_REF (cs->callee)))
ipa_set_called_with_variable_arg (IPA_NODE_REF (cs->callee));
}
- }
}
/* Walk param call notes of NODE and set their call statements given the uid