------- 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