[PATCH] Fix MINUS_EXPR vect reduction handling (PR tree-optimization/54877)

Jakub Jelinek jakub@redhat.com
Wed Oct 10 08:46:00 GMT 2012


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



More information about the Gcc-patches mailing list