diff options
author | Martin Jambor <mjambor@suse.cz> | 2010-02-10 12:22:55 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2010-02-10 12:22:55 +0100 |
commit | 563cb662c833b2233b5682bcc55e99cf584de1a4 (patch) | |
tree | ac8bd2ff11d01b44607780ce7f522dc59dfda98e /gcc/ipa-prop.c | |
parent | 9e3c399e02e1049797557c7d04abe369a2df1bc0 (diff) | |
download | gcc-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.c | 8 |
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 |