http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53321
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |steven at gcc dot gnu.org --- Comment #11 from Steven Bosscher <steven at gcc dot gnu.org> 2012-05-26 19:39:28 UTC --- At the point of the ICE: (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /home/stevenb/devel/build-test2/gcc/cc1plus -quiet -O2 -fprofile-generate t.cc Breakpoint 2, internal_error (gmsgid=0x18d10b8 "vector %s %s domain error, in %s at %s:%u") at ../../trunk/gcc/diagnostic.c:955 955 va_start (ap, gmsgid); (gdb) up 4 #4 0x00000000009bc54c in cgraph_propagate_frequency_1 (node=0x7ffff70d5888, data=0x7fffffffde40) at ../../trunk/gcc/cgraph.c:1805 1805 if (inline_edge_summary (edge)->loop_depth) (gdb) p debug_cgraph() callgraph: __gcov_indirect_call_profiler/25 (<built-in>) @0x7ffff72603a8 Type: function Visibility: external public artificial References: Referring: Availability: not_available Function flags: Called by: main/3 (1.00 per call) Calls: __gcov_ior_profiler/24 (<built-in>) @0x7ffff7260138 Type: function Visibility: external public artificial References: Referring: Availability: not_available Function flags: Called by: _ZL11find_sourcePKc.isra.0/9 (1.00 per call) Calls: __gcov_average_profiler/23 (<built-in>) @0x7ffff7260000 Type: function Visibility: external public artificial References: Referring: Availability: not_available Function flags: Called by: _ZL11find_sourcePKc.isra.0/9 (1.00 per call) Calls: __gcov_one_value_profiler/22 (<built-in>) @0x7ffff70d59c0 Type: function Visibility: external public artificial References: Referring: Availability: not_available Function flags: Called by: _ZL11find_sourcePKc.isra.0/9 (1.00 per call) Calls: _ZL11find_sourcePKc.isra.0/9 (void _ZL11find_sourcePKc.isra.0()) @0x7ffff70d5ea0 Type: function Visibility: artificial References: long int __gcov0._ZL11find_sourcePKc.isra.0 [1]/12 (read)long int __gcov0._ZL11find_sourcePKc.isra.0 [1]/12 (write)int n_sources/5 (read)char* sources/6 (read)char* src/7 (read)long int __gcov3._ZL11find_sourcePKc.isra.0 [3]/13 (addr)long int __gcov6._ZL11find_sourcePKc.isra.0 [2]/14 (addr)long int __gcov7._ZL11find_sourcePKc.isra.0 [1]/15 (addr) Referring: Availability: local Function flags: analyzed body local finalized Called by: _ZL15read_graph_filev/1 (1.00 per call) Calls: void* memcpy(void*, const void*, size_t)/8 (1.00 per call) __gcov_ior_profiler/24 (1.00 per call) __gcov_average_profiler/23 (1.00 per call) __gcov_one_value_profiler/22 (1.00 per call) void* memcpy(void*, const void*, size_t)/8 (void* memcpy(void*, const void*, size_t)) @0x7ffff70d5d68 Type: function Visibility: external public visibility_specified References: Referring: Availability: not_available Function flags: Called by: _ZL11find_sourcePKc.isra.0/9 (1.00 per call) Calls: const char* gcov_read_string()/4 (const char* gcov_read_string()) @0x7ffff70d5c30 Type: function Visibility: external public References: Referring: Availability: not_available Function flags: Called by: _ZL15read_graph_filev/1 (1.00 per call) (can throw external) Calls: main/3 (int main()) @0x7ffff70d5af8 Type: function Visibility: public Address is taken. References: long int* __gcov_indirect_call_counters/11 (read)void* __gcov_indirect_call_callee/10 (read)main/3 (addr)void* __gcov_indirect_call_callee/10 (write)long int __gcov0.main [2]/16 (read)long int __gcov0.main [2]/16 (write)long int __gcov0.main [2]/16 (read)long int __gcov0.main [2]/16 (write) Referring: main/3 (addr) Availability: available Function flags: analyzed body finalized only_called_at_startup Called by: Calls: _ZL15read_graph_filev/1 (1.00 per call) (can throw external) __gcov_indirect_call_profiler/25 (1.00 per call) _ZL15read_graph_filev/1 (void read_graph_file()) @0x7ffff70d5888 Type: function Visibility: prevailing_def_ironly References: long int __gcov0._ZL15read_graph_filev [3]/17 (read)long int __gcov0._ZL15read_graph_filev [3]/17 (write)long int __gcov0._ZL15read_graph_filev [3]/17 (read)long int __gcov0._ZL15read_graph_filev [3]/17 (write)long int __gcov0._ZL15read_graph_filev [3]/17 (read)long int __gcov0._ZL15read_graph_filev [3]/17 (write) Referring: Availability: local Function flags: analyzed body local finalized Called by: main/3 (1.00 per call) (can throw external) Calls: _ZL11find_sourcePKc.isra.0/9 (1.00 per call) const char* gcov_read_string()/4 (1.00 per call) (can throw external) $41 = void Note the isra function. The ICE goes away with -fno-ipa-sra, and can be triggered with "-O1 -fipa-sra -fprofile-generate".