------- Additional Comments From steven at gcc dot gnu dot org 2005-08-08 08:44 ------- GCC 4.0.2 (CVS) does this: ivcanon dump: # b_9 = PHI <b_3(1)>; <L2>:; if (b_9 != -1) goto <L3>; else goto <L4>; <L3>:; printf (&"%d\n"[0], b_9); abort (); .ivopts dump: # b_9 = PHI <b_3(1)>; <L2>:; if (b_9 != -1) goto <L3>; else goto <L4>; <L3>:; printf (&"%d\n"[0], b_9); abort (); Looks like final value replacement screws up.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23282