https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78917
--- Comment #3 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #2) > Another test case: > > $ cat f.c && gcc -O2 -S -Wall -Wextra f.c > int f (int i) > { > const char * p = __builtin_strchr (i ? "123" : "456", '2'); > return __builtin_strlen (p); > } > > The strlen argument is a phi with a null operand so that should make it easy > to detect: > > # prephitmp_11 = PHI <_10(3), 0B(2)> > _1 = __builtin_strlen (prephitmp_11); OK, this second testcase is different enough, so I guess this bug can stay separate