On Tue, May 30, 2017 at 12:27 PM, Richard Biener wrote: > On Thu, May 25, 2017 at 5:16 PM, Bin.Cheng wrote: >> On Tue, May 23, 2017 at 5:23 PM, Bin Cheng wrote: >>> Hi, >>> As commented in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80815#c1, >>> We can relax minimal segment length of DR_B for merging. With this change, >>> the new test can be improved to only one alias check. Note the >>> condition is still accurate after this patch, it won't introduce false >>> alias. >>> Bootstrap and test on x86_64 and AArch64, is it OK? >> Updated patch wrto change of previous patch. >> >> Bootstrap and test on x86_64 and AArch64. > > Please omit unnecessary braces. Ok with that change. > > Note that > > if (tree_fits_uhwi_p (dr_b1->seg_len)) > { > min_seg_len_b = dr_b1->seg_len; > if (tree_int_cst_sign_bit (dr_b1->seg_len)) > min_seg_len_b = wi::neg (min_seg_len_b); > > the tree_fits_uhwi_p check is somewhat bogus now that min_seg_len_b is > a wide-int. > It should probably be changed to TREE_CODE (dr_b1->seg_len) == INTEGER_CST > which also means that > > min_seg_len_b = wi::abs (dr_b1->seg_len); > > should work. Thanks for reviewing. Here is updated patch. Bootstrap and test on x86_64. Is it OK? Thanks, bin > > Richard. > > >> Thanks, >> bin >>> >>> 2017-05-22 Bin Cheng >>> >>> * tree-data-ref.c (prune_runtime_alias_test_list): Relax minimal >>> segment length for dr_b. >>> >>> gcc/testsuite/ChangeLog >>> 2017-05-22 Bin Cheng >>> >>> * gcc.dg/vect/pr80815-3.c: New test.