On Thu, Oct 18, 2012 at 7:32 PM, Kenneth Zadeck <zad...@naturalbridge.com> wrote: > This patch replaces all instances of INT_CST_LT and INT_CST_LT_UNSIGNED > with > the new functions tree_int_cst_lts_p and tree_int_cst_ltu_p. With the new > implementation of int_cst these functions will be too big to do inline.
These new function names are extremely confusing given that we already have tree_int_cst_lt which does the right thing based on the signedness of the INTEGER_CST trees. The whole point of the macros was to be inlined and you break that. That is, for example if (unsignedp && unsignedp0) { - min_gt = INT_CST_LT_UNSIGNED (primop1, minval); - max_gt = INT_CST_LT_UNSIGNED (primop1, maxval); - min_lt = INT_CST_LT_UNSIGNED (minval, primop1); - max_lt = INT_CST_LT_UNSIGNED (maxval, primop1); + min_gt = tree_int_cst_ltu_p (primop1, minval); + max_gt = tree_int_cst_ltu_p (primop1, maxval); + min_lt = tree_int_cst_ltu_p (minval, primop1); + max_lt = tree_int_cst_ltu_p (maxval, primop1); } else { - min_gt = INT_CST_LT (primop1, minval); - max_gt = INT_CST_LT (primop1, maxval); - min_lt = INT_CST_LT (minval, primop1); - max_lt = INT_CST_LT (maxval, primop1); + min_gt = tree_int_cst_lts_p (primop1, minval); ... could have just been min_gt = tree_int_cst_lt (primop1, minval); .... without any sign check. So if you think you need to kill the inlined variants please use the existing tree_int_cst_lt instead. Thanks, Richard. > This is a small patch that has no prerequisites. > > Tested on x86-64. > > kenny