------- Comment #4 from hosking at cs dot purdue dot edu 2006-08-23 13:40 ------- Here is a stack trace showing call to resize_phi_node from execute_pre.
#0 resize_phi_node (phi=0x42580028, len=9) at ../../gcc/gcc/tree-phinodes.c:271 #1 0x001415e8 in reserve_phi_args_for_new_edge (bb=0x42580000) at ../../gcc/gcc/tree-phinodes.c:325 #2 0x001fd8b0 in unchecked_make_edge (src=0x425885a0, dst=0x42580000, flags=1113063428) at ../../gcc/gcc/cfg.c:272 #3 0x002414fc in tree_split_edge (edge_in=0x424a12d0) at ../../gcc/gcc/tree-cfg.c:3117 #4 0x00261bcc in split_edge (e=0x4257ebe0) at ../../gcc/gcc/cfghooks.c:407 #5 0x002445b8 in tree_find_edge_insert_loc (e=0x424a12d0, bsi=0xbfffeca8, new_bb=0x0) at ../../gcc/gcc/tree-cfg.c:2975 #6 0x00244764 in bsi_commit_one_edge_insert (e=0x42580028, new_bb=0x9) at ../../gcc/gcc/tree-cfg.c:3016 #7 0x002466c8 in bsi_commit_edge_inserts () at ../../gcc/gcc/tree-cfg.c:2997 #8 0x00344098 in execute_pre (do_fre=0 '\0') at ../../gcc/gcc/tree-ssa-pre.c:2731 #9 0x002260b8 in execute_one_pass (pass=0x4ed660) at ../../gcc/gcc/passes.c:827 #10 0x00226188 in execute_pass_list (pass=0x4ed660) at ../../gcc/gcc/passes.c:859 #11 0x002261a0 in execute_pass_list (pass=0x4ec21c) at ../../gcc/gcc/passes.c:860 #12 0x00153fa4 in tree_rest_of_compilation (fndecl=0x42443580) at ../../gcc/gcc/tree-optimize.c:419 #13 0x0000497c in m3_expand_function (fndecl=0x42443580) at ../../gcc/gcc/m3cg/parse.c:848 #14 0x00052784 in cgraph_expand_function (node=0x424501c0) at ../../gcc/gcc/cgraphunit.c:1055 #15 0x00052fc8 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1121 #16 0x000130c0 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/parse.c:4397 #17 0x00036674 in toplev_main (argc=1079409344, argv=0x40567bcc) at ../../gcc/gcc/toplev.c:991 #18 0x00001f24 in _start (argc=6, argv=0xbffff214, envp=0xbffff230) at /SourceCache/Csu/Csu-58.1.1/crt.c:272 #19 0x00001dcc in start () The phi node that gets resized (and replaced in its bb) is later attempted to be deleted, at the following point: Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_PROTECTION_FAILURE at address: 0x00000000 0x00141ca8 in remove_phi_node (phi=0x42577800, prev=0x0) at ../../gcc/gcc/tree-phinodes.c:454 (gdb) where #0 0x00141ca8 in remove_phi_node (phi=0x42577800, prev=0x0) at ../../gcc/gcc/tree-phinodes.c:454 #1 0x00341aac in remove_dead_inserted_code () at ../../gcc/gcc/tree-ssa-pre.c:2547 #2 0x003440a0 in execute_pre (do_fre=0 '\0') at ../../gcc/gcc/tree-ssa-pre.c:2733 #3 0x002260b8 in execute_one_pass (pass=0x4ed660) at ../../gcc/gcc/passes.c:827 #4 0x00226188 in execute_pass_list (pass=0x4ed660) at ../../gcc/gcc/passes.c:859 #5 0x002261a0 in execute_pass_list (pass=0x4ec21c) at ../../gcc/gcc/passes.c:860 #6 0x00153fa4 in tree_rest_of_compilation (fndecl=0x42443580) at ../../gcc/gcc/tree-optimize.c:419 #7 0x0000497c in m3_expand_function (fndecl=0x42443580) at ../../gcc/gcc/m3cg/parse.c:848 #8 0x00052784 in cgraph_expand_function (node=0x424501c0) at ../../gcc/gcc/cgraphunit.c:1055 #9 0x00052fc8 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1121 #10 0x000130c0 in m3_parse_file (xx=0) at ../../gcc/gcc/m3cg/parse.c:4397 #11 0x00036674 in toplev_main (argc=1079409344, argv=0x40567bcc) at ../../gcc/gcc/toplev.c:991 #12 0x00001f24 in _start (argc=6, argv=0xbffff214, envp=0xbffff230) at /SourceCache/Csu/Csu-58.1.1/crt.c:272 #13 0x00001dcc in start () -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28798