Speculative call support in the callgraph

Andi Kleen andi@firstfloor.org
Fri Aug 9 22:12:00 GMT 2013


Jan Hubicka <hubicka@ucw.cz> writes:

> Hi,
> this patch adds support for speculative calls into callgraph.  The idea is that
> any IPA optimization that believes it knows likely target of an indirect call
> (currently I use it for cross-module indirect call profiling, but I expect
> Martin J. can easily add support for ipa-cp and I hope to add speculative
> devirtualization in foreseeable future since it should make difference for
> Firefox). Speculative call replaces indirect call

Patch appears to break boot strap on x86_64-linux 
(or maybe your other one)

0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x827ab7 crash_signal
        ../../gcc/gcc/toplev.c:335
0x5d0c6c cgraph_speculative_call_info(cgraph_edge*, cgraph_edge*&,
        cgraph_edge*&, ipa_ref*&)
        ../../gcc/gcc/cgraph.c:1098
0x5d1270 cgraph_set_call_stmt(cgraph_edge*, gimple_statement_d*, bool)
        ../../gcc/gcc/cgraph.c:774
0x5d0c6c cgraph_speculative_call_info(cgraph_edge*, cgraph_edge*&,
        cgraph_edge*&, ipa_ref*&)
        ../../gcc/gcc/cgraph.c:1098
0x5d1270 cgraph_set_call_stmt(cgraph_edge*, gimple_statement_d*, bool)
        ../../gcc/gcc/cgraph.c:774
0x5d0c6c cgraph_speculative_call_info(cgraph_edge*, cgraph_edge*&,
        cgraph_edge*&, ipa_ref*&)
        ../../gcc/gcc/cgraph.c:1098
...


-Andi

-- 
ak@linux.intel.com -- Speaking for myself only



More information about the Gcc-patches mailing list