On 08/18/14 09:55, Ilya Enkovich wrote:
On 04 Jun 01:15, Jeff Law wrote:
On 06/03/14 01:10, Ilya Enkovich wrote:
Hi,

This patch does not allow splitting in case bounds are returned until retutrned 
bounds are supported.  It also propagates instrumentation marks for generated 
call and function.

Bootstrapped and tested on linux-x86_64.

Thanks,
Ilya
--
gcc/

2014-06-03  Ilya Enkovich  <ilya.enkov...@intel.com>

        * ipa-split.c: Include tree-chkp.h.
        (consider_split): Do not split when return bounds.
        (split_function): Propagate Pointer Bounds Checker
        instrumentation marks.
It's a hack.  There's no reason we can't support this.  So I'll
approve on the condition that you do look at removing this
limitation in the future.

jeff


I did some work for function splitting and now patch cover more cases.  Now 
returned bounds are supported but it is not allowed to split producers of 
returned pointer and its bounds.  Is it OK?

Thanks,
Ilya
--
2014-08-15  Ilya Enkovich  <ilya.enkov...@intel.com>

        * ipa-split.c: Include tree-chkp.h.
        (find_retbnd): New.
        (consider_split): Do not split retbnd and retval
        producers.
        (split_function): Propagate Pointer Bounds Checker
        instrumentation marks and handle returned bounds.
I don't think it's sufficient to just look at the SSA_NAME_DEFSTMT and verify that it's not in the header.

You could easily have the SSA_NAME_DEF_STMT be a PHI which is in the same partition as the RETURN statement. One of the PHI arguments might be fed from a statement in the header, right?

Don't you have to look at the entire set of definitions which directly and indirectly feed the return statement and verify that each and every one is in the same partition as the return statement?

And if so, that makes me start to think the original hack wasn't so bad after all :-)

jeff

Reply via email to