"Yangfei (Felix)" <felix.y...@huawei.com> writes: >> On June 30, 2020 4:23:03 PM GMT+02:00, Richard Sandiford >> <richard.sandif...@arm.com> wrote: >> >Richard Biener <rguent...@suse.de> writes: >> >> So it seems odd to somehow put in the number of vectors... so to me >> >> it would have made sense if it did >> >> >> >> possible_npeel_number = lower_bound (nscalars); >> >> >> >> or whateveris necessary to make the polys happy. Thus simply elide >> >> the vect_get_num_vectors call? But it's been very long since I've >> >> dived into the alignment peeling code... >> > >> >Ah, I see what you mean. So rather than: >> > >> > /* Save info about DR in the hash table. Also include peeling >> > amounts according to the explanation above. */ >> > for (j = 0; j < possible_npeel_number; j++) >> > { >> > vect_peeling_hash_insert (&peeling_htab, loop_vinfo, >> > dr_info, npeel_tmp); >> > npeel_tmp += target_align / dr_size; >> > } >> > >> >just have something like: >> > >> > while (known_le (npeel_tmp, nscalars)) >> > { >> > … >> > } >> > >> >? >> >> Yeah. > > Not sure if I understand correctly. I am supposing the following check in > the original code is not necessary if we go like that. > > 1822 if (unlimited_cost_model (LOOP_VINFO_LOOP (loop_vinfo))) > > Is that correct?
I think we still need it. I guess there are two choices: - make nscalars default to npeel_tmp before the “if” above. - put the loop inside the “if” and add a single call to vect_peeling_hash_insert as a new “else”. Thanks, Richard