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/58246] [4.7/4.8/4.9 Regression] wrong code at -O1 and above


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-08-27
     Ever confirmed|0                           |1

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
We have:
  # .MEM_13 = VDEF <.MEM_11>
  tD.1723[1] = 0;
  # .MEM_15 = VDEF <.MEM_13>
  tD.1723[a.0_6] = 0;
at mergephi1 and cddce1 decides to delete the first of the two stores as needed
for some weird reason:

processing: _8 = t[a.0_6];

marking necessary through .MEM_4 stmt t[1] = 1;
marking necessary through .MEM_3 stmt t[0] = 1;
marking necessary through .MEM_15 stmt t[a.0_6] = 0;
processing: t[a.0_6] = 0;

processing: t[0] = 1;

processing: t[1] = 1;

processing: a = 0;


Eliminating unnecessary statements:
Deleting : t[1] = 0;

Removed 1 of 18 statements (5%)


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