[Bug tree-optimization/30997] FRE does not simplify comparisons in COND_EXPRs

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Dec 3 15:44:00 GMT 2007



------- Comment #2 from rguenth at gcc dot gnu dot org  2007-12-03 15:44 -------
Re-confirmed with SCCVN.  Note that while it value numbers the COND_EXPR on
the RHS it does not simplify the condition in the COND_EXPR stmt:

Value numbering tmp_3 stmt = tmp_3 = a_2(D) > 2;
Setting value number of tmp_3 to tmp_3

<bb 2>:
  tmp_3 = a_2(D) > 2;
  if (a_2(D) > 2)
    goto <bb 4>;
  else
    goto <bb 3>;

Even if you teach FRE to do elimination in COND_EXPR statements (which it
does not do), the COND_EXPR condition has no value handle associated and
a lookup with the expression in the PRE table fails.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dberlin at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-12-03 15:44:44
               date|                            |
            Summary|FRE does not value number   |FRE does not simplify
                   |comparisons in COND_EXPRs   |comparisons in COND_EXPRs


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



More information about the Gcc-bugs mailing list