2015-04-02 22:42 GMT+03:00 Jeff Law <l...@redhat.com>: > On 04/02/2015 08:49 AM, Ilya Enkovich wrote: >> >> Ping >> >> 2015-03-10 13:12 GMT+03:00 Ilya Enkovich <enkovich....@gmail.com>: >>> >>> Hi, >>> >>> Currentl we loose returned bounds when functions are merged. This patch >>> fixes it by adding returne bounds support for cgraph_node::expand_thunk. >>> Bootstrapped and tested on x86_64-unknown-linux-gnu. OK for trunk? >>> >>> Thanks, >>> Ilya >>> -- >>> gcc/ >>> >>> 2015-03-06 Ilya Enkovich <ilya.enkov...@intel.com> >>> >>> * cgraphunit.c (cgraph_node::expand_thunk): Build returned >>> bounds for instrumented functions. >>> >>> gcc/testsuite/ >>> >>> 2015-03-06 Ilya Enkovich <ilya.enkov...@intel.com> >>> >>> * gcc/testsuite/gcc.target/i386/thunk-retbnd.c: New. > > I really dislike the amount of gimple and bounded pointer knowledge in this > code. > > It seems like a significant modularity violation and while you didn't > introduce the gimple stuff, we probably shouldn't be making it worse. > > Is it possible to let this code build up the thunk, then pass it off as a > whole to the chkp code to add the instrumentation, particularly for the > return value?
OK, will rework the patch. > > ALso, is this critical for stage4? It looks like this is strictly a QofI > change, correct? Actually having just a tail call in a function we don't lose bounds and I don't expect it affects QofI. But we get instrumented function with no returned bounds for a pointer which triggers an assert somewhere (don't remember exact place). I'll revisit the original problem and will probably make a simpler stability fix for now, leaving thunk modification for stage 1. Thanks, Ilya > > jeff >