http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45950
Summary: [4.6 Regression} ICE segmentation fault compiling __udivdi3 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: dang...@gcc.gnu.org Host: hppa*-*-* (32-bit) Target: hppa*-*-* (32-bit) Build: hppa*-*-* (32-bit) /test/gnu/gcc/objdir/./gcc/xgcc -B/test/gnu/gcc/objdir/./gcc/ -B/opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/bin/ -B/opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/lib/ -isystem /opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/include -isystem /opt/gnu/gcc/gcc-4.6.0/hppa2.0w-hp-hpux11.11/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -frandom-seed=fixed-seed -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I../../../gcc/libgcc -I../../../gcc/libgcc/. -I../../../gcc/libgcc/../gcc -I../../../gcc/libgcc/../include -DHAVE_CC_TLS -DUSE_EMUTLS -o _udivdi3.o -MT _udivdi3.o -MD -MP -MF _udivdi3.dep -DL_udivdi3 -c ../../../gcc/libgcc/../gcc/libgcc2.c \ -fexceptions -fnon-call-exceptions ../../../gcc/libgcc/../gcc/libgcc2.c: In function '__udivdi3': ../../../gcc/libgcc/../gcc/libgcc2.c:1134:1: internal compiler error: Segmentati on fault Introduced by the following change: 2010-10-08 Nathan Froyd <froy...@codesourcery.com> * tree-ssa-sccvn.c (init_vn_nary_op_from_pieces): New function. (init_vn_nary_op_from_op): New function. (init_vn_nary_op_from_stmt): New function. (vn_nary_op_lookup_1): New function. (sizeof_vn_nary_op): New function. (alloc_vn_nary_op_noinit): New function. (alloc_vn_nary_op): New function. (vn_nary_op_insert_into): New function. (vn_nary_op_lookup_pieces): Rewrite to use new helper functions. (vn_nary_op_lookup): Likewise. (vn_nary_op_lookup_stmt): Likewise. (vn_nary_op_insert_pieces): Likewise. (vn_nary_op_insert): Likewise. (vn_nary_op_insert_stmt): Likewise. (copy_nary): Likewise. (set_value_id_for_result): New function. (set_hashtable_value_ids): Call it. Program received signal SIGSEGV, Segmentation fault. 0x00037ff4 in $$dyncall () (gdb) bt #0 0x00037ff4 in $$dyncall () #1 0x03a80060 in htab_find_slot (htab=0x40122b58, element=0x7eff14f4, insert=NO_INSERT) at ../../gcc/libiberty/hashtab.c:712 #2 0x02ad98c4 in lookup_expression_id (expr=0x7eff14f4) at ../../gcc/gcc/tree-ssa-pre.c:292 #3 0x02adc658 in get_or_alloc_expr_for_constant (constant=0x7af2a738) at ../../gcc/gcc/tree-ssa-pre.c:1067 #4 0x02adcd18 in fully_constant_expression (e=0x40140088) at ../../gcc/gcc/tree-ssa-pre.c:1225 #5 0x02adda6c in phi_translate_1 (expr=0x40140088, set1=0x401464d0, set2=0x0, pred=0x7ad4a990, phiblock=0x7ad62750) at ../../gcc/gcc/tree-ssa-pre.c:1529 #6 0x02adeb54 in phi_translate (expr=0x4013ffc8, set1=0x401464d0, set2=0x0, pred=0x7ad4a990, phiblock=0x7ad62750) at ../../gcc/gcc/tree-ssa-pre.c:1858 #7 0x02adec28 in phi_translate_set (dest=0x401464f8, set=0x401464d0, pred=0x7ad4a990, phiblock=0x7ad62750) at ../../gcc/gcc/tree-ssa-pre.c:1892 #8 0x02adfa60 in defer_or_phi_translate_block (dest=0x401464f8, source=0x401464d0, block=0x7ad4a990, phiblock=0x7ad62750) at ../../gcc/gcc/tree-ssa-pre.c:2237 #9 0x02adfb64 in compute_antic_aux (block=0x7ad4a990, block_has_abnormal_pred_edge=0 '\000') at ../../gcc/gcc/tree-ssa-pre.c:2298 #10 0x02ae0ed4 in compute_antic () at ../../gcc/gcc/tree-ssa-pre.c:2604 #11 0x02ae8c6c in execute_pre (do_fre=0 '\000') at ../../gcc/gcc/tree-ssa-pre.c:4833 #12 0x02ae8e40 in do_pre () at ../../gcc/gcc/tree-ssa-pre.c:4868 #13 0x00ca6da0 in execute_one_pass (pass=0x40024168) at ../../gcc/gcc/passes.c:1562 #14 0x00ca7098 in execute_pass_list (pass=0x40024168) at ../../gcc/gcc/passes.c:1617 #15 0x00ca70bc in execute_pass_list (pass=0x40023748) at ../../gcc/gcc/passes.c:1618 #16 0x02548734 in tree_rest_of_compilation (fndecl=0x7ae68980) at ../../gcc/gcc/tree-optimize.c:419 #17 0x013ed6b0 in cgraph_expand_function (node=0x7aef4680) at ../../gcc/gcc/cgraphunit.c:1498 #18 0x013ed944 in cgraph_expand_all_functions () at ../../gcc/gcc/cgraphunit.c:1557 #19 0x013ee374 in cgraph_optimize () at ../../gcc/gcc/cgraphunit.c:1813 #20 0x013eb62c in cgraph_finalize_compilation_unit () at ../../gcc/gcc/cgraphunit.c:1020 #21 0x000c262c in c_write_global_declarations () at ../../gcc/gcc/c-decl.c:9821 #22 0x00e2c434 in compile_file () at ../../gcc/gcc/toplev.c:946 #23 0x00e30508 in do_compile () at ../../gcc/gcc/toplev.c:2374 #24 0x00e30694 in toplev_main (argc=74, argv=0x7eff0854) at ../../gcc/gcc/toplev.c:2415 #25 0x00373f34 in main (argc=74, argv=0x7eff0854) at ../../gcc/gcc/main.c:36 (gdb) frame 2 #2 0x02ad98c4 in lookup_expression_id (expr=0x7eff14f4) at ../../gcc/gcc/tree-ssa-pre.c:292 292 slot = htab_find_slot (expression_to_id, expr, NO_INSERT); (gdb) p debug_tree (expr) <error_mark 7eff14f4> $1 = void (gdb) frame 3 #3 0x02adc658 in get_or_alloc_expr_for_constant (constant=0x7af2a738) at ../../gcc/gcc/tree-ssa-pre.c:1067 1067 result_id = lookup_expression_id (&expr); (gdb) p debug_tree (constant) <integer_cst 7af2a738 type <integer_type 7af372a0 int> constant 0> $2 = void