The following patch temporarily disable some of the checking which is not fully 'lipo' aware. It will be checked into google/main and further cleanups will follow.
David
2011-05-10 David Li <davi...@google.com> * cgraphunit.c (revision 173635) (verify_cgraph_node): (cgraph_mark_functions_to_output): * tree-cfg.c (revision 173635) (verify_stmt): Index: cgraphunit.c =================================================================== --- cgraphunit.c (revision 173635) +++ cgraphunit.c (working copy) @@ -480,6 +480,10 @@ verify_cgraph_node (struct cgraph_node * if (seen_error ()) return; + /* Disable checking for LIPO for now. */ + if (L_IPO_COMP_MODE) + return; + timevar_push (TV_CGRAPH_VERIFY); for (e = node->callees; e; e = e->next_callee) if (e->aux) @@ -1315,7 +1319,8 @@ cgraph_mark_functions_to_output (void) are inside partition, we can end up not removing the body since we no longer have analyzed node pointing to it. */ && !node->in_other_partition - && !(DECL_EXTERNAL (decl) || cgraph_is_aux_decl_external (node))) + && !(DECL_EXTERNAL (decl) || cgraph_is_aux_decl_external (node)) + && !L_IPO_COMP_MODE) { dump_cgraph_node (stderr, node); internal_error ("failed to reclaim unneeded function"); @@ -1331,7 +1336,7 @@ cgraph_mark_functions_to_output (void) } #ifdef ENABLE_CHECKING - if (check_same_comdat_groups) + if (check_same_comdat_groups && !L_IPO_COMP_MODE) for (node = cgraph_nodes; node; node = node->next) if (node->same_comdat_group && !node->process) { Index: tree-cfg.c =================================================================== --- tree-cfg.c (revision 173635) +++ tree-cfg.c (working copy) @@ -4159,6 +4159,10 @@ verify_stmt (gimple_stmt_iterator *gsi) gimple stmt = gsi_stmt (*gsi); int lp_nr; + /* TODO: Disable for now. */ + if (L_IPO_COMP_MODE) + return false; + if (is_gimple_omp (stmt)) { /* OpenMP directives are validated by the FE and never operated