[Bug middle-end/41455] memcpy not tail called if it's a struct assignment

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Nov 10 11:50:00 GMT 2017


--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
We could do that I suppose.  Of course memcpy will expand to alias-set zero
block copies while aggregate assignment can use better info.

So in the end this means doing full block-copy expansion on GIMPLE rather than
on RTL.  Which sounds messy / impossible given stuff like rep; movb;

Another option is to not use __builtin_memcpy for aggregate assignments but
some internal function call that we can hand extra parameters (for aliasing).

More information about the Gcc-bugs mailing list