------- Comment #1 from rguenth at gcc dot gnu dot org  2010-06-08 08:49 -------
Hm?  The return values are removed as part of first DCE pass.

<bb 2>:
  D.2721_1 = i_am_pure (5);
  D.2722_2 = i_am_pure (5);
  a_3 = D.2721_1 + D.2722_2;
  i_am_pure (8);
  i_am_pure (8);
  return a_3;

and FRE/PRE do not value-number anything that does not DEF an SSA name
(nor something that defines something that is not used, so -fno-tree-dce
does not help here).

Why do we remove register LHS in DCE again?  I can fix VN easily to
also consider unused LHS on not dead stmts.

Thus, mine for -fno-tree-dce.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |rguenth at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-06-08 08:49:03
               date|                            |


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

Reply via email to