Re: Ping*2: [PATCH v5] Missed function specialization + partial devirtualization

2019-11-18 Thread Martin Liška
On 11/16/19 10:59 AM, luoxhu wrote: Sorry that I don't quite understand your meanning here. I didn't grep the word "cgraph_edge_summary" in source code, do you mean add new structure Hello. He wanted to write call_summary class and so you need something similar to ipa-sra.c:431. It's a data s

Re: Ping*2: [PATCH v5] Missed function specialization + partial devirtualization

2019-11-16 Thread luoxhu
Hi Thanks, On 2019/11/14 17:04, Jan Hubicka wrote: >> PR ipa/69678 >> * cgraph.c (symbol_table::create_edge): Init speculative_id. >> (cgraph_edge::make_speculative): Add param for setting speculative_id. >> (cgraph_edge::speculative_call_info): Find reference by >> specul

Re: Ping*2: [PATCH v5] Missed function specialization + partial devirtualization

2019-11-14 Thread Jan Hubicka
> PR ipa/69678 > * cgraph.c (symbol_table::create_edge): Init speculative_id. > (cgraph_edge::make_speculative): Add param for setting speculative_id. > (cgraph_edge::speculative_call_info): Find reference by > speculative_id for multiple indirect targets. > (cgr

Ping*2: [PATCH v5] Missed function specialization + partial devirtualization

2019-11-13 Thread luoxhu
Rebase to trunk including void gimple_ic_transform. This patch aims to fix PR69678 caused by PGO indirect call profiling performance issues. The bug that profiling data is never working was fixed by Martin's pull back of topN patches, performance got GEOMEAN ~1% improvement(+24% for 511.povray_r