From 563cb662c833b2233b5682bcc55e99cf584de1a4 Mon Sep 17 00:00:00 2001 From: Martin Jambor Date: Wed, 10 Feb 2010 12:22:55 +0100 Subject: [PATCH] re PR lto/42985 (Internal compiler error: in ipcp_iterate_stage with different opt level) 2010-02-10 Martin Jambor PR lto/42985 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and check for variable argument counts independently. From-SVN: r156651 --- gcc/ChangeLog | 6 ++++++ gcc/ipa-prop.c | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 94ab73fdac51..ecda788cf44d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-02-10 Martin Jambor + + PR lto/42985 + * ipa-prop.c (ipa_update_after_lto_read): Count parameters and + check for variable argument counts independently. + 2010-02-10 Christian Bruel PR target/42841 diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c index 9fbd9d804e92..71f79bd19b0a 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