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/28003] [4.2 Regression] optimizer bug



------- Comment #2 from pinskia at gcc dot gnu dot org  2006-06-13 04:41 -------
Hmm, we get after dce, just:
  reduced_cell_two_folds[26] = {};

And DCE removes:
  this_616 = &reduced_cell_two_folds[26].u;
....
  #   SMT.68_1055 = V_MAY_DEF <SMT.68_1054>;
  this_616->elems[0] = 1;
  #   SMT.68_1056 = V_MAY_DEF <SMT.68_1055>;
  this_616->elems[1] = 0;
  #   SMT.68_1057 = V_MAY_DEF <SMT.68_1056>;
  this_616->elems[2] = 0;
...
  this_621 = &reduced_cell_two_folds[26].h;
...
  #   SMT.68_1058 = V_MAY_DEF <SMT.68_1057>;
  this_621->elems[0] = 2;
  #   SMT.68_1059 = V_MAY_DEF <SMT.68_1058>;
  this_621->elems[1] = 1;
  #   SMT.68_1060 = V_MAY_DEF <SMT.68_1059>;
  this_621->elems[2] = 1;


Which does not make sense.  Nothing is special in alias shows what is going
wrong.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Severity|normal                      |critical
          Component|c++                         |tree-optimization
           Keywords|                            |alias, wrong-code
            Summary|optimizer bug               |[4.2 Regression] optimizer
                   |                            |bug
   Target Milestone|---                         |4.2.0


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


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