Hi, PR 57289 is an LTO streaming issue. We should process the bitpack before moving on to read other stuff in ipa_read_node_info because bp_unpack_value might read from the stream if there are many bits to read. Fixed by the following patch which makes 454.calculix build with -flto again and also passes bootstrap and testing on x86_64-linux. OK for trunk?
Thanks, Martin 2013-05-20 Martin Jambor <mjam...@suse.cz> PR lto/57289 * ipa-prop.c (ipa_read_node_info): Process param_used and controlled_uses in the same order as when writing. Index: src/gcc/ipa-prop.c =================================================================== --- src.orig/gcc/ipa-prop.c +++ src/gcc/ipa-prop.c @@ -3849,9 +3849,9 @@ ipa_read_node_info (struct lto_input_blo info->uses_analysis_done = true; info->node_enqueued = false; for (k = 0; k < ipa_get_param_count (info); k++) - ipa_set_controlled_uses (info, k, streamer_read_hwi (ib)); - for (k = 0; k < ipa_get_param_count (info); k++) ipa_set_param_used (info, k, bp_unpack_value (&bp, 1)); + for (k = 0; k < ipa_get_param_count (info); k++) + ipa_set_controlled_uses (info, k, streamer_read_hwi (ib)); for (e = node->callees; e; e = e->next_callee) { struct ipa_edge_args *args = IPA_EDGE_REF (e);