2017-03-13 16:33 GMT+03:00 Martin Liška <mli...@suse.cz>:
> On 03/13/2017 02:07 PM, Richard Biener wrote:
>> No, that can't happen.  I said that for example for
>>
>> struct S { ... } s;
>> foo (s);
>>
>> pass_by_reference may be true but on gimple you see a struct s as
>> actual argument.  I'm not sure
>> what chkp_find_bounds does to 's' in this case.  Like if floats are
>> passed by reference you might
>> see a REAL_CST passed to chkp_find_bounds but in reality it will get a
>> pointer (with bounds
>> according to the argument slot that was used).
>
> Currently constants have invalid bounds assigned. Thus I guess it can't cause 
> a trouble
> when such constant is used as a pointer. Anyhow, the discrepancy should be 
> handled better.
>
> Last question related to the patch. May I at least install the part which 
> adds {COMPLEX,VECTOR}_CSTs
> handling as it can happen with -mabi=ms (where formal and actual args do 
> match)? Or using -mabi=ms + CHKP
> does not make sense at all?

Hi,

Originally casted function calls were not taken into account by
instrumentation pass and it
caused such sloppy handling of these casts later. It would be nice to
revise this code.

Meanwhile your fix should go to trunk. CHKP instrumentation pass is
supposed to be target
independent and therefore shouldn't rely on any ABI.

Thanks,
Ilya

>
> Martin

Reply via email to