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/33680] [4.3 Regression] ICE when compilling elbg.c from ffmpeg (vectorizer)



------- Comment #12 from jakub at gcc dot gnu dot org  2007-10-11 09:41 -------
The problem is that D.1556 (the var that hasn't been renamed or with the patch
can't be looked up) has been deleted.
*.phiprop has:
  long unsigned intD.4 D.1556;
...
  D.1554_11 = (long unsigned intD.4) dimD.1539_4(D);
  D.1556_12 = D.1554_11 * 4;
...
  D.1561_23 = D.1556_12 /[ex] 4;
  D.1562_24 = &(*newcentroid.1D.1559_22)[0]{lb: 0 sz: D.1561_23 * 4};

then FRE does:
Replaced D.1556_12 /[ex] 4 with D.1554_11 in D.1561_23 = D.1556_12 /[ex] 4;
  long unsigned intD.4 D.1556;
...
  D.1554_11 = (long unsigned intD.4) dimD.1539_4(D);
  D.1556_12 = D.1554_11 * 4;
...
  newcentroid.1D.1559_22 = (intD.0[3][0:D.1553] *) D.1560_21;
  D.1561_23 = D.1554_11;
  D.1562_24 = &(*newcentroid.1D.1559_22)[0]{lb: 0 sz: D.1561_23 * 4};

and as D.1556 is unused, it is DCEd in dce2 pass.  But D.1556 (and D.1555) is
still present in TYPE_SIZE{,_UNIT} of the VLA type, so when vectorizer
regimplifies it, it adds back code to compute its size, but that assumes
D.1556 has the correct value.

Not sure what could be done here to fix this.  The easiest solution is not to
vectorize when VLA types are involved.  In any case it means that debuginfo
will
be incomplete if its size variable has been DCEd.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dnovillo at gcc dot gnu dot
                   |                            |org


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


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