On Tue, Feb 16, 2021 at 11:48 AM Alexandre Oliva <ol...@adacore.com> wrote: > > On Feb 16, 2021, Alexandre Oliva <ol...@adacore.com> wrote: > > >> So I wonder whether we should instead re-run CCP after loop opts which > >> computes nonzero bits as well instead of the above "hack". > > That works. It takes care of both the dest alignment and the len ctz. > > Explicitly masking out the len tz from nonzero bits also works, but I > suppose the ccp pass does a better job, and it takes care of memcpy and > memmove as well.
It's certainly more general, yes. > I noticed that ccp releases CDI_DOMINATORS information. It looks like > the last copy_prop pass, now replaced with ccp in my tree, was late > enough that it doesn't seem to matter, but at first I thought you meant > an earlier copy_prop, that runs before graphite, and dropping dominator > info at that point was a problem for e.g. cunroll. We indeed shouldn't release CDI_DOMINATORS info, but if it is a problem elsewhere then that pass fails to compute dominator info. But yes, in the loop pipeline we expect dominator info to be present (but fast query can disable itself leading to issues if doms are not recomputed). Richard. > -- > Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ > Free Software Activist GNU Toolchain Engineer > Vim, Vi, Voltei pro Emacs -- GNUlius Caesar