http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60770
--- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- int f(int n){ int*p; { int q=n; p=&q; } return *p; } Here CCP turns: q = n_2(D); p_4 = &q; q ={v} {CLOBBER}; _6 = *p_4; into: q_5 = n_2(D); _6 = q_5; I guess relying on clobbers in the middle-end for warnings is a bit optimistic...