------- Comment #3 from steven at gcc dot gnu dot org 2010-02-12 22:27 ------- Basically yet another example of why it is a REALLY BAD IDEA to use constants as PHI arguments. If the constant from "s =0" would not be propagated into the PHI, the statement would not be dead and removed, and no new "s=0" would have to be inserted in the wrong place.
See bug 42906 for another example of exactly the same problem. Allowing constants as PHI arguments is GCC's biggest design f*ck-up. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42839