[RFC] Ignore TREE_CONSTANT_OVERFLOW in integer_zerop

Eric Botcazou ebotcazou@adacore.com
Sun Apr 2 12:00:00 GMT 2006


> 2006-04-01  Roger Sayle  <roger@eyesopen.com>
>
> 	* tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
>       [...]
> 	(int_size_in_bytes): Likewise.
> 	(host_integerp): Likewise.

Is this an oversight?

*************** int_size_in_bytes (tree type)
*** 1725,1731 ****
    t = TYPE_SIZE_UNIT (type);
    if (t == 0
        || TREE_CODE (t) != INTEGER_CST
-       || TREE_OVERFLOW (t)
        || TREE_INT_CST_HIGH (t) != 0
        /* If the result would appear negative, it's too big to represent.  */
        || (HOST_WIDE_INT) TREE_INT_CST_LOW (t) < 0)
--- 1717,1722 ----
*************** int
*** 4404,4410 ****
  host_integerp (tree t, int pos)
  {
    return (TREE_CODE (t) == INTEGER_CST
-         && ! TREE_OVERFLOW (t)
          && ((TREE_INT_CST_HIGH (t) == 0
               && (HOST_WIDE_INT) TREE_INT_CST_LOW (t) >= 0)
              || (! pos && TREE_INT_CST_HIGH (t) == -1
--- 4395,4400 ----

-- 
Eric Botcazou



More information about the Gcc-patches mailing list