On Wed, Oct 10, 2012 at 10:21:59AM +0200, Richard Biener wrote: > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > Err, why? Can't we negate a constant, too?
Not all of them, say INT_MIN can't be negated. Though, int foo (int n) { int i, d; for (i = 0, d = 0; i < n; i++) d -= -__INT_MAX__ - 1; return d; } doesn't trigger it. And for constants I thought it would be better to just fold it immediately. > The ICE simply means > we should have used make_temp_ssa_name (TREE_TYPE (rhs), NULL, NULL) > instead of copy_ssa_name. Is make_temp_ssa_name (TREE_TYPE (rhs), NULL, NULL) preferrable over just make_ssa_name (TREE_TYPE (rhs), NULL); ? Jakub