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/36630] [4.3/4.4 Regression] ICE in vect_update_ivs_after_vectorizer



------- Comment #2 from irar at il dot ibm dot com  2008-06-26 11:57 -------
For access function (short int) {(short unsigned int) i_44, +, 1}_1)
evolution_part_in_loop_num() returns NULL, which causes the failure.

I tried to peel NOP_EXPRs from POLYNOMIAL_CHRECs in
evolution_part_in_loop_num(), but it caused lots of testsuite failures, and I
am not sure this is the correct way.

The access function is for vectorizer created calculation of peeling needed for
misaligned access:
<bb 11>:
  # ivtmp.42_89 = PHI <ivtmp.42_90(16), 0(10)>
  # ivtmp.41_87 = PHI <ivtmp.41_88(16), vect_p.36_86(10)>
  # ivtmp.34_78 = PHI <ivtmp.34_79(16), vect_p.29_77(10)>
  # i_18 = PHI <i_13(16), i_44(10)>
  D.1578_4 = (long unsigned int) i_18;
  D.1579_5 = D.1578_4 + -1;
  D.1580_7 = x_6(D) + D.1579_5;
  D.1581_9 = x_6(D) + D.1578_4;
  vect_var_.35_80 = M*ivtmp.34_78{misalignment: 0};
  D.1582_10 = *D.1581_9;
  *ivtmp.41_87 = vect_var_.35_80;
  i.0_11 = (short unsigned int) i_18;
  D.1584_12 = i.0_11 + 1;
  i_13 = (short int) D.1584_12;
  ivtmp.34_79 = ivtmp.34_78 + 16;
  ivtmp.41_88 = ivtmp.41_87 + 16;
  ivtmp.42_90 = ivtmp.42_89 + 1;
  if (ivtmp.42_90 < bnd.26_52)
    goto <bb 16>;
  else
    goto <bb 12>;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36630


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