http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53321
--- Comment #22 from H.J. Lu <hjl.tools at gmail dot com> 2012-07-06 18:46:09 UTC --- After inlining, IPA calls tree_profiling which rebuilds edges: #2 0x0000000000683ccd in rebuild_cgraph_edges () at /export/gnu/import/git/gcc/gcc/cgraphbuild.c:433 #3 0x0000000000c02de6 in tree_profiling () at /export/gnu/import/git/gcc/gcc/tree-profile.c:564 #4 0x0000000000a1be4f in execute_one_pass (pass=0x1908520) at /export/gnu/import/git/gcc/gcc/passes.c:2165 #5 0x0000000000a1cb0c in execute_ipa_pass_list (pass=0x1908520) at /export/gnu/import/git/gcc/gcc/passes.c:2532 #6 0x000000000068b874 in ipa_passes () at /export/gnu/import/git/gcc/gcc/cgraphunit.c:1844 basic_block bb; struct cgraph_node *node = cgraph_get_node (current_function_decl); gimple_stmt_iterator gsi; cgraph_node_remove_callees (node); ipa_remove_all_references (&node->symbol.ref_list); node->count = ENTRY_BLOCK_PTR->count; and creates new edges. After that, all things went downhill #0 internal_error ( gmsgid=0x158c110 "vector %s %s domain error, in %s at %s:%u") at /export/gnu/import/git/gcc/gcc/diagnostic.c:955 #1 0x000000000124f707 in vec_assert_fail (op=0x12fc800 "index", struct_name=0x12fc7e0 "VEC(inline_edge_summary_t,base)", file=0x12fc808 "/export/gnu/import/git/gcc/gcc/ipa-inline.h", line=200, function=0x12fd380 "inline_edge_summary") at /export/gnu/import/git/gcc/gcc/vec.c:527 #2 0x000000000067c685 in VEC_inline_edge_summary_t_base_index ( vec_=0x1aea360, ix_=6, file_=0x12fc808 "/export/gnu/import/git/gcc/gcc/ipa-inline.h", line_=200, function_=0x12fd380 "inline_edge_summary") at /export/gnu/import/git/gcc/gcc/ipa-inline.h:145 #3 0x000000000067c6cd in inline_edge_summary (edge=0x7ffff1ab67b8) at /export/gnu/import/git/gcc/gcc/ipa-inline.h:199 since inline_edge_summary_vec was never updated.