http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51760
--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-05 11:48:28 UTC --- This is because likely_value says VARYING for __builtin___memmove_chk (&a, b_1, 0, D.1724_7) if b_1 is not already CONSTANT. But we evaluate it with /* These builtins return their first argument, unmodified. */ case BUILT_IN_MEMCPY: case BUILT_IN_MEMMOVE: anyway, so likely_value should return CONSTANT if the first arg of these builtins is constant.