[Bug tree-optimization/54899] [4.7 Regression] -fpredictive-commoning and -ftree-vectorize optimizations generate a nonsensical binary which segfaults

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Oct 11 13:58:00 GMT 2012


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |4.6.4, 4.8.0
           Keywords|                            |wrong-code
   Last reconfirmed|                            |2012-10-11
          Component|c++                         |tree-optimization
     Ever Confirmed|0                           |1
            Summary|-fpredictive-commoning and  |[4.7 Regression]
                   |-ftree-vectorize            |-fpredictive-commoning and
                   |optimizations generate a    |-ftree-vectorize
                   |nonsensical binary which    |optimizations generate a
                   |segfaults                   |nonsensical binary which
                   |                            |segfaults
   Target Milestone|---                         |4.7.3
      Known to fail|                            |4.7.2

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-11 13:57:50 UTC ---
predcom introduces

  D.2600_40 = MEM[(const double &)D.2413_2].mData[4294967295];
  D.2601_38 = MEM[(const double &)D.2413_2].mData[0];
  D.2602_19 = MEM[(const double &)D.2413_2].mData[1];

this is mData[-1], a reconstructed array access, D.2413_2 is &this_1(D)->b.

Not sure how predcom arrives at this ... on trunk there is no predcom
performed and Instead the base is this_1(D) + 24.



More information about the Gcc-bugs mailing list