Is this patch OK?

Thanks,

David

On Sat, Apr 9, 2011 at 9:34 AM, Xinliang David Li <davi...@google.com> wrote:
> SPEC06 build with FDO is ok with the patch -- no abnormality was found.
>
> David
>
> On Fri, Apr 8, 2011 at 2:42 PM, Xinliang David Li <davi...@google.com> wrote:
>> Please review this patch. Regression test is ok. I will do more
>> application testing to make sure the check is not too strict
>> (filtering out legal ic targets).
>>
>> Thanks,
>>
>> David
>>
>> 2011-04-07  Xinliang David Li  <davi...@google.com>
>>
>>        * value-profile.c (function_decl_num_args): New function.
>>        (check_ic_target): New function.
>>        (gimple_ic_transform): Sanity check indirect call target.
>>        * gimple-low.c (gimple_check_call_args): Interface change.
>>        (gimple_check_call_matching_types): New function.
>>        * tree-inline.c (tree_can_inline_p): Call new function.
>>
>> On Fri, Apr 8, 2011 at 2:27 AM, Richard Guenther
>> <richard.guent...@gmail.com> wrote:
>>> On Fri, Apr 8, 2011 at 8:06 AM, Xinliang David Li <davi...@google.com> 
>>> wrote:
>>>> Hi, due to race conditions, it is common that the value profile
>>>> information for an indirect call site is 'corrupted' -- resulting in
>>>> false target function to be recorded. The value profile transformation
>>>> won't cause runtime problem as the path will never be executed,
>>>> however it may cause compile time ICE because of the incompatible
>>>> signature of the callee target. The attached patch does minimal sanity
>>>> check to make compiler happy in such cases. The fix was tested with
>>>> lots of MT programs and works really well in practice.
>>>>
>>>> Ok for trunk after testing?
>>>
>>> Please instead refactor and re-use gimple_check_call_args ().
>>> Also look at tree_can_inline_p () which has code to deal with
>>> result mismatches.
>>>
>>> Richard.
>>>
>>>> Thanks,
>>>>
>>>> David
>>>>
>>>> 2011-04-07  Xinliang David Li  <davi...@google.com>
>>>>
>>>>        * value-profile.c (function_decl_num_args): New function.
>>>>        (check_ic_target): New function.
>>>>        (gimple_ic_transform): Sanity check indirect call target.
>>>>
>>>
>>
>

Reply via email to