On 03/15/2017 04:12 AM, Martin Liška wrote:
On 03/15/2017 12:58 AM, Ilya Enkovich wrote:
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.

Hi.

Yep, code revisiting would be needed in this area.


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

As you are MPX maintainer, may I consider that as patch approval?
You can consider it as approval.

jeff

Reply via email to