------- Comment #6 from jamborm at gcc dot gnu dot org 2009-11-04 16:10 ------- (In reply to comment #4) > This is -O vs. -O2 ICE because different IPA passes are selected > then. I think we have a dup for this - Martin, is it somehow easy > to avoid the ICE? >
Well, it seems that calling ipa_initialize_node_params() rather than ipa_populate_param_decls() in ipa_update_after_lto_read() should avoid it. Moreover, if things can get this much out of sync, I'd also call ipa_check_create_node_params() and ipa_check_create_edge_args() at the beginning of ipa_update_after_lto_read() too, just to be sure. I have not tried any of the above but can prepare a patch along these lines... unless someone else is faster :-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41932