------- Comment #1 from rguenth at gcc dot gnu dot org 2007-12-06 10:37 ------- Confirmed.
eliminate_local_variables_1 changes &Express[0] to &(*Express.96_73)[0] without re-computing invariantness. With the structure of eliminate_local_variables_stmt (it seems to operate on non-gimple), it looks like it would require a second walk over the stmt to recompute invariantness (or to make sure to do this at gimplification time). Or to walk depth-first. I'll leave that to Zdenek to figure out. -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rakdver at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Component|c++ |tree-optimization Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-12-06 10:37:11 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34355