https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83142
Bug ID: 83142 Summary: Missed tail-call opportunity Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- The following is not tail-called even though memmove returns dest (and the compiler knows that): struct A { int i; int j; int k; }; void *bar (struct A *dest, struct A *src) { __builtin_memmove (dest, src, sizeof (struct A)); return dest; }