PING^2
On 3/6/19 11:05 AM, Martin Liška wrote:
> @Honza: PING^1
>
> On 2/20/19 10:10 AM, Martin Liška wrote:
>> On 2/19/19 2:25 PM, Martin Jambor wrote:
>>> Hi,
>>>
>>> On Tue, Feb 19 2019, Martin Liška wrote:
>>>> On 2/14/19 11:19 AM, Jan Hubicka wrote:
>>>>>
>>>
>>> ...
>>>
>>>>> Next stage1 we should also teach the callback to ignore edges of calls
>>>>> that are not being optimized.
>>>>
>>>> I'm sending patch for that.
>>>
>>> ...
>>>
>>>> gcc/ChangeLog:
>>>>
>>>> 2019-02-19 Martin Liska <mli...@suse.cz>
>>>>
>>>> * ipa-cp.c (ignore_edge_p): New function.
>>>> (build_toporder_info): Use it.
>>>> * ipa-inline.c (ignore_edge_p): New function/
>>>> (inline_small_functions): Use it.
>>>> * ipa-pure-const.c (ignore_edge_for_nothrow):
>>>> Verify opt_for_fn for caller and callee.
>>>> (ignore_edge_for_pure_const): Likewise.
>>>> * ipa-reference.c (ignore_edge_p): Extend to check
>>>> for opt_for_fn.
>>>> * ipa-utils.c (searchc): Refactor.
>>>> * ipa-utils.h: Fix coding style.
>>>> ---
>>>> gcc/ipa-cp.c | 18 +++++++++++++++++-
>>>> gcc/ipa-inline.c | 12 +++++++++++-
>>>> gcc/ipa-pure-const.c | 17 ++++++++++++-----
>>>> gcc/ipa-reference.c | 13 ++++++++++---
>>>> gcc/ipa-utils.c | 3 +--
>>>> gcc/ipa-utils.h | 2 --
>>>> 6 files changed, 51 insertions(+), 14 deletions(-)
>>>>
>>>> diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
>>>> index 442d5c63eff..004b3a34b1c 100644
>>>> --- a/gcc/ipa-cp.c
>>>> +++ b/gcc/ipa-cp.c
>>>> @@ -806,6 +806,21 @@ public:
>>>> {}
>>>> };
>>>>
>>>> +/* Skip edges from and to nodes without ipa_cp enabled.
>>>> + Ignore not available symbols. */
>>>> +
>>>> +static bool
>>>> +ignore_edge_p (cgraph_edge *e)
>>>> +{
>>>> + enum availability avail;
>>>> + e->callee->function_or_virtual_thunk_symbol (&avail, e->caller);
>>>
>>> Can't the return value of this call be directly fed...
>>>
>>>> +
>>>> + return (avail <= AVAIL_INTERPOSABLE
>>>> + || !opt_for_fn (e->caller->decl, flag_ipa_cp)
>>>> + || !opt_for_fn (e->callee->function_symbol ()->decl,
>>>
>>> ...here instead of calling function_symbol... which does not look
>>> through thunks which IMHO you want, even if only for consistency.
>>
>> Yes, I like it.
>>
>> There's a new version of the patch I've just tested.
>>
>> Martin
>>
>>>
>>> Otherwise, it the IPA-CP bits obviously look good,
>>>
>>> Martin
>>>
>>
>