On 10/10/14 08:52, Ilya Enkovich wrote:
THanks, Jeff
With this code we remove user builtins calls coming from source code.
E.g.:
p2 = (int *)__bnd_init_ptr_bounds (p1); *p2 = 0;
which means p2 has value of p1 but has default bounds and following
store is unchecked. These calls are important for instrumentation
but useless after instrumentation. I don't think it is a part of
checker optimizer because it doesn't optimize instrumentation code.
Also this transformation is trivial enough for O0 and checker
optimizer works starting from O2.
Below is a version fixed according to Richard's comments.
Thanks, Ilya -- 2014-10-10 Ilya Enkovich <ilya.enkov...@intel.com>
* tree-chkp.c (chkp_remove_useless_builtins): New. (chkp_execute):
Remove useless calls to Pointer Bounds Checker builtins.
Tests instrumentation are still needed. With some basic tests and
instrumentation this will be OK.
I hate to be harping tests, but few developers are going to be familiar
with the MPX and related infrastructure and those tests are critical to
helping them know when they break something.
Similarly if the plan is to iterate on improving things, then those
basic functionality tests will ultimately save time as you can smoke
test before running larger benchmarks.
jeff