[Bug middle-end/38934] [4.3/4.4 Regression] ICE in set_value_range, at tree-vrp.c:398

bonzini at gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Jan 26 16:48:00 GMT 2009



------- Comment #8 from bonzini at gnu dot org  2009-01-26 16:48 -------
I disagree with this:

> working around these issues where they pop up is the way
> to go in the near future.

I think we need to be a bit more ambitious, and that does not mean separating
overflow/non-overflow tree codes.  For example in Eric's testcase, the way to
go would have been not to reassociate if there was a TREE_OVERFLOW on resulting
constant operands.  It might even be as easy as

  if (con0 && TREE_OVERFLOW (con0))
    return NULL_TREE;

(search for "con0 =" in fold-const.c to get the context).

For 4.5, I suggest applying Jakub's patch very early and fixing bugs that
result.  If it turns out it's a huge Pandora's box, we can always re-revert the
patch.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38934



More information about the Gcc-bugs mailing list