[PATCH, Pointer Bounds Checker 22/x] Inline

Jeff Law law@redhat.com
Wed Sep 24 15:17:00 GMT 2014


On 09/24/14 01:28, Ilya Enkovich wrote:
>
>>
>> I'm a bit curious why you removed the original RETBND statement in
>> value-prof, only to reinsert it.  Is there some reason you needed to do
>> that?
>
> After call transformation we have smth like that:
>
> if (<confition>)
>    new_lhs = direct_call (...);
> else
>    old_lhs = call (...);
> old_bnd = __builtin_retbnd (old_lhs);
>
> Original retbnd statement removal + reinsertion is used to transform it into:
>
> if (<confition>)
>    new_lhs = direct_call (...);
> else
> {
>    old_lhs = call (...);
>    old_bnd = __builtin_retbnd (old_lhs);
> }
>
> The rest of code inserts bounds for new_lhs and creates phi node for
> bounds similar to what is done for call return value.
Oh yea, makes perfect sense, the earlier code inserted the conditional, 
but left the bounds setting bits in their prior (now the merge point) 
location.

Thanks,
Jeff



More information about the Gcc-patches mailing list