https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86467
Bug ID: 86467 Summary: inlining strcmp with small known length array Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: qinzhao at gcc dot gnu.org Target Milestone: --- from Martin Sebor: an enhancement to this optimization implemented for 78809 that might be worth considering is inlining even non-constant calls with array arguments whose size is no greater than the limit. As in: extern char a[4], *b; int n = strcmp (a, b); Because strcmp arguments are required to be nul-terminated strings, a's length above must be at most 3. This is analogous to similar optimizations GCC performs, such as folding to zero calls to strlen() with one-element arrays.