Sorry I dropped the ball on this one. Context is here: http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00416.html
On Apr 12, 2012, Richard Guenther <richard.guent...@gmail.com> wrote: > + /* If the conditions in which this function uses VALUE change, > + adjust gimple_replace_lhs_wants_value(). */ > + gcc_assert (gimple_replace_lhs_wants_value () > + == MAY_HAVE_DEBUG_STMTS); > + > that looks ... odd. But I see you want to conditionally compute value. > +static inline bool > +gimple_replace_lhs_wants_value (void) > +{ > + return MAY_HAVE_DEBUG_STMTS; > +} > but should this not depend on the old stmt / lhs? For example do we really > want to do this for artificial variables? I suppose not. I think we do. We want to preserve the value of the expression when it is referenced in other debug expressions. For these other uses, it doesn't matter whether this value happened to be computed and stored in a temporary, an artificial variable or a user-defined variable. -- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer