On Tue, Mar 20, 2018 at 10:44 PM, Richard Sandiford <richard.sandif...@linaro.org> wrote: > Jeff Law <l...@redhat.com> writes: >> On 03/20/2018 01:36 PM, Martin Liška wrote: >>> Hi. >>> >>> This is a work-around to not iterate all members of array that can be huge. >>> As MPX will be removed in GCC 9.x, I hope it's acceptable. I don't want >>> to come >>> up with a new param for it. >>> >>> Survives tests&bootstrap on x86_64-linux-gnu. >>> >>> Martin >>> >>> gcc/ChangeLog: >>> >>> 2018-03-20 Martin Liska <mli...@suse.cz> >>> >>> PR target/84988 >>> * tree-chkp.c (CHKP_ARRAY_MAX_CHECK_STEPS): Define a new macro. >>> (chkp_find_bound_slots_1): Limit number of iterations. >> Or just CLOSE/WONTFIX :-) >> >> I've got no objections here -- we want to minimize the effort put into >> CHKP given its going to be deprecated. > > The problem is that this affects normal configs, not just ones with > MPX enabled.
Indeed. It get's called via #0 chkp_find_bound_slots_1 (type=0x7ffff69ee9d8, have_bound=0x2ed3868, offs=0) at /space/rguenther/src/svn/early-lto-debug/gcc/tree-chkp.c:1708 #1 0x0000000001379a13 in chkp_find_bound_slots (type=0x7ffff69ee9d8, res=0x2ed3868) at /space/rguenther/src/svn/early-lto-debug/gcc/tree-chkp.c:1754 #2 0x0000000001377054 in chkp_type_bounds_count (type=0x7ffff69ee9d8) at /space/rguenther/src/svn/early-lto-debug/gcc/tree-chkp.c:1009 #3 0x00000000016c664f in ix86_function_arg_advance (cum_v=..., mode=E_BLKmode, type=0x7ffff69ee9d8, named=true) at /space/rguenther/src/svn/early-lto-debug/gcc/config/i386/i386.c:8621 8616 { 8617 /* Track if there are outgoing arguments on stack. */ 8618 if (cum->caller) 8619 cfun->machine->outgoing_args_on_stack = true; 8620 8621 cum->bnds_in_bt = chkp_type_bounds_count (type); 8622 } 8623 } 8624 8625 /* Define where to put the arguments to a function. but I think we know POINTER_BOUNDS_TYPE_P etc. never return true if -fcheck-pointer-* or -mmpx is not enabled, right? So we can guard the above call appropriately and save some compile-time for all of us? Richard. > Thanks, > Richard