------- Comment #5 from pinskia at gcc dot gnu dot org 2006-02-11 00:59 ------- The problem with this one after Jeff's recent patches is that we have: <L13>:; D.1402_17 = 0; if (D.1402_17 == 1) goto <L15>; else goto <L14>;
<L15>:; x_18 = 1; # x_19 = PHI <0(2), 0(3), x_18(4)>; <L14>:; Which causes us not to be able to the jump threading as we do a CCP in VRP and then we get: <bb 2>: if (v_8 < 0) goto <L13>; else goto <L14>; <L13>:; D.1402_17 = 0; goto <bb 8> (<L18>); # x_19 = PHI <0(2)>; <L14>:; u_20 = 1; ivtmp.26_21 = 1; ivtmp.26_3 = 1; u_14 = 1; x_13 = 0; if (v_8 <= 0) goto <L1>; else goto <L3>; So we need to be able to do some CCP and some DCE before invoking VRP. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21829