This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/60419] [4.8/4.9 Regression] ICE Segmentation fault


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60419

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-03-10
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jason at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The slsr issue is just a pilot error, I've mistakenly used ~ r205NNN compiler
in that case, so it looks like an already fixed issue.

Anyway, the ICE on ppc64 with the reduced testcase started with r208184 (thus I
wonder about the 4.8 regression status), the problem is that
getMeanVal function (method?) calls
_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE
thunk that has NULL node->callee (without -fPIC it ICEs in one spot, with -fPIC
in another one).

node->callees is set to non-NULL in:
#0  cgraph_create_edge (caller=<cgraph_node* 0x7ffff0f32148
"_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE">, 
    callee=<cgraph_node* 0x7ffff0f32000 "*.LTHUNK0">, call_stmt=<gimple 0x0>,
count=0, freq=1000) at ../../gcc/cgraph.c:927
#1  0x00000000008ffe81 in analyze_function (
    node=<cgraph_node* 0x7ffff0f32148
"_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE">) at
../../gcc/cgraphunit.c:611
#2  0x00000000009010b4 in analyze_functions () at ../../gcc/cgraphunit.c:1017
#3  0x0000000000904979 in finalize_compilation_unit () at
../../gcc/cgraphunit.c:2320
#4  0x000000000068b61d in cp_write_global_declarations () at
../../gcc/cp/decl2.c:4612
#5  0x0000000000d0ee72 in compile_file () at ../../gcc/toplev.c:562
#6  0x0000000000d11015 in do_compile () at ../../gcc/toplev.c:1914
#7  0x0000000000d11180 in toplev_main (argc=8, argv=0x7fffffffe358) at
../../gcc/toplev.c:1990
#8  0x00000000012c0464 in main (argc=8, argv=0x7fffffffe358) at
../../gcc/main.c:36

and cleared again in:
#0  cgraph_node_remove_callees (node=<cgraph_node* 0x7ffff0f32148
"_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE">)
    at ../../gcc/cgraph.c:1617
#1  0x0000000000b2dc63 in symtab_remove_unreachable_nodes
(before_inlining_p=false, file=0x0) at ../../gcc/ipa.c:493
#2  0x000000000124c93f in ipa_inline () at ../../gcc/ipa-inline.c:2060
#3  0x000000000124d385 in (anonymous namespace)::pass_ipa_inline::execute
(this=0x1c73710) at ../../gcc/ipa-inline.c:2412
#4  0x0000000000c299d6 in execute_one_pass (pass=<opt_pass* 0x1c73710
"inline"(53)>) at ../../gcc/passes.c:2229
#5  0x0000000000c2a71b in execute_ipa_pass_list (pass=<opt_pass* 0x1c73710
"inline"(53)>) at ../../gcc/passes.c:2607
#6  0x00000000009042ad in ipa_passes () at ../../gcc/cgraphunit.c:2084
#7  0x000000000090455e in compile () at ../../gcc/cgraphunit.c:2174
#8  0x0000000000904988 in finalize_compilation_unit () at
../../gcc/cgraphunit.c:2329
#9  0x000000000068b61d in cp_write_global_declarations () at
../../gcc/cp/decl2.c:4612
#10 0x0000000000d0ee72 in compile_file () at ../../gcc/toplev.c:562
#11 0x0000000000d11015 in do_compile () at ../../gcc/toplev.c:1914
#12 0x0000000000d11180 in toplev_main (argc=8, argv=0x7fffffffe358) at
../../gcc/toplev.c:1990
#13 0x00000000012c0464 in main (argc=8, argv=0x7fffffffe358) at
../../gcc/main.c:36

At that point the thunk apparently has no callers.  But somewhat later it gains
one:
#0  cgraph_set_edge_callee (e=0x7fffef50a8f0, 
    n=<cgraph_node* 0x7ffff0f32148
"_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE">) at
../../gcc/cgraph.c:1080
#1  0x00000000008f74a8 in cgraph_make_edge_direct (edge=0x7fffef50a8f0, 
    callee=<cgraph_node* 0x7ffff0f32148
"_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE">) at
../../gcc/cgraph.c:1313
#2  0x0000000000b1f7ae in ipa_make_edge_direct_to_target (ie=0x7fffef50a8f0, 
    target=<function_decl 0x7ffff0fc5a00
_ZThn8_NK4mrpt5utils16CPosePDFGaussian7getMeanERNS_5poses7CPose2DE>) at
../../gcc/ipa-prop.c:2551
#3  0x0000000000b20091 in try_make_edge_direct_virtual_call (ie=0x7fffef50a8f0,
jfunc=0x7ffff085b078, new_root_info=0x1e4cce0)
    at ../../gcc/ipa-prop.c:2799
#4  0x0000000000b201e2 in update_indirect_edges_after_inlining
(cs=0x7fffef9baf08, node=<cgraph_node* 0x7ffff0ad58f8 "getMeanVal">,
new_edges=0x0)
    at ../../gcc/ipa-prop.c:2852
#5  0x0000000000b20476 in propagate_info_to_inlined_callees (cs=0x7fffef9baf08,
node=<cgraph_node* 0x7ffff0ad58f8 "getMeanVal">, new_edges=0x0)
    at ../../gcc/ipa-prop.c:2924
#6  0x0000000000b20c3d in ipa_propagate_indirect_call_infos (cs=0x7fffef9baf08,
new_edges=0x0) at ../../gcc/ipa-prop.c:3086
#7  0x000000000124e183 in inline_call (e=0x7fffef9baf08, update_original=true,
new_edges=0x0, overall_size=0x0, update_overall_summary=true)
    at ../../gcc/ipa-inline-transform.c:277
#8  0x000000000124c6da in inline_to_all_callers (node=<cgraph_node*
0x7ffff0ad58f8 "getMeanVal">, data=0x7fffffffe024)
    at ../../gcc/ipa-inline.c:1987
#9  0x00000000008f9a18 in cgraph_for_node_and_aliases (node=<cgraph_node*
0x7ffff0ad58f8 "getMeanVal">, callback=
    0x124c5f5 <inline_to_all_callers(cgraph_node*, void*)>,
data=0x7fffffffe024, include_overwritable=true) at ../../gcc/cgraph.c:2212
#10 0x000000000124cacc in ipa_inline () at ../../gcc/ipa-inline.c:2118
#11 0x000000000124d385 in (anonymous namespace)::pass_ipa_inline::execute
(this=0x1c73710) at ../../gcc/ipa-inline.c:2412
#12 0x0000000000c299d6 in execute_one_pass (pass=<opt_pass* 0x1c73710
"inline"(53)>) at ../../gcc/passes.c:2229
#13 0x0000000000c2a71b in execute_ipa_pass_list (pass=<opt_pass* 0x1c73710
"inline"(53)>) at ../../gcc/passes.c:2607
#14 0x00000000009042ad in ipa_passes () at ../../gcc/cgraphunit.c:2084
#15 0x000000000090455e in compile () at ../../gcc/cgraphunit.c:2174
#16 0x0000000000904988 in finalize_compilation_unit () at
../../gcc/cgraphunit.c:2329
#17 0x000000000068b61d in cp_write_global_declarations () at
../../gcc/cp/decl2.c:4612
#18 0x0000000000d0ee72 in compile_file () at ../../gcc/toplev.c:562
#19 0x0000000000d11015 in do_compile () at ../../gcc/toplev.c:1914
#20 0x0000000000d11180 in toplev_main (argc=8, argv=0x7fffffffe358) at
../../gcc/toplev.c:1990
#21 0x00000000012c0464 in main (argc=8, argv=0x7fffffffe358) at
../../gcc/main.c:36


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]