This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/21829] [4.1/4.2 Regression] missed jump threading after unroller



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]