[PATCH]: Introduce HOST_WIDE_INT_0{,U}

Uros Bizjak ubizjak@gmail.com
Wed Jul 20 21:16:00 GMT 2016


As suggested by Jakub.

2016-07-20  Uros Bizjak  <ubizjak@gmail.com>

    * hwint.h (HOST_WIDE_INT_0): New define.
    (HOST_WIDE_INT_0U): Ditto.
    * double-int.c: Use HOST_WIDE_INT_0 instead of (HOST_WIDE_INT) 0.
    * dse.c: Use HOST_WIDE_INT_0U instead of (unsigned HOST_WIDE_INT) 0.
    * simplify-rtx.c: Ditto.
    * tree-object-size.c: Ditto.

Bootstrapped and regression tested on x86_64-linux-gnu. In addition, I
have checked that .o files didn't differ.

OK for mainline?

Uros.
-------------- next part --------------
Index: double-int.c
===================================================================
--- double-int.c	(revision 238538)
+++ double-int.c	(working copy)
@@ -557,7 +557,7 @@ div_and_round_double (unsigned code, int uns,
     case CEIL_MOD_EXPR:		/* round toward positive infinity */
       if (!quo_neg && (*lrem != 0 || *hrem != 0))  /* ratio > 0 && rem != 0 */
 	{
-	  add_double (*lquo, *hquo, HOST_WIDE_INT_1, (HOST_WIDE_INT) 0,
+	  add_double (*lquo, *hquo, HOST_WIDE_INT_1, HOST_WIDE_INT_0,
 		      lquo, hquo);
 	}
       else
@@ -593,7 +593,7 @@ div_and_round_double (unsigned code, int uns,
 			  HOST_WIDE_INT_M1, HOST_WIDE_INT_M1, lquo, hquo);
 	    else
 	      /* quo = quo + 1; */
-	      add_double (*lquo, *hquo, HOST_WIDE_INT_1, (HOST_WIDE_INT) 0,
+	      add_double (*lquo, *hquo, HOST_WIDE_INT_1, HOST_WIDE_INT_0,
 			  lquo, hquo);
 	  }
 	else
Index: dse.c
===================================================================
--- dse.c	(revision 238538)
+++ dse.c	(working copy)
@@ -1217,7 +1217,7 @@ set_all_positions_unneeded (store_info *s_info)
       s_info->positions_needed.large.count = end;
     }
   else
-    s_info->positions_needed.small_bitmask = (unsigned HOST_WIDE_INT) 0;
+    s_info->positions_needed.small_bitmask = HOST_WIDE_INT_0U;
 }
 
 /* Return TRUE if any bytes from S_INFO store are needed.  */
@@ -1229,8 +1229,7 @@ any_positions_needed_p (store_info *s_info)
     return (s_info->positions_needed.large.count
 	    < s_info->end - s_info->begin);
   else
-    return (s_info->positions_needed.small_bitmask
-	    != (unsigned HOST_WIDE_INT) 0);
+    return (s_info->positions_needed.small_bitmask != HOST_WIDE_INT_0U);
 }
 
 /* Return TRUE if all bytes START through START+WIDTH-1 from S_INFO
Index: hwint.h
===================================================================
--- hwint.h	(revision 238538)
+++ hwint.h	(working copy)
@@ -63,6 +63,8 @@ extern char sizeof_long_long_must_be_8[sizeof (lon
 #endif
 
 #define HOST_WIDE_INT_UC(X) HOST_WIDE_INT_C (X ## U)
+#define HOST_WIDE_INT_0 HOST_WIDE_INT_C (0)
+#define HOST_WIDE_INT_0U HOST_WIDE_INT_UC (0)
 #define HOST_WIDE_INT_1 HOST_WIDE_INT_C (1)
 #define HOST_WIDE_INT_1U HOST_WIDE_INT_UC (1)
 #define HOST_WIDE_INT_M1 HOST_WIDE_INT_C (-1)
Index: simplify-rtx.c
===================================================================
--- simplify-rtx.c	(revision 238538)
+++ simplify-rtx.c	(working copy)
@@ -40,7 +40,7 @@ along with GCC; see the file COPYING3.  If not see
    occasionally need to sign extend from low to high as if low were a
    signed wide int.  */
 #define HWI_SIGN_EXTEND(low) \
- ((((HOST_WIDE_INT) low) < 0) ? HOST_WIDE_INT_M1 : ((HOST_WIDE_INT) 0))
+  ((((HOST_WIDE_INT) low) < 0) ? HOST_WIDE_INT_M1 : HOST_WIDE_INT_0)
 
 static rtx neg_const_int (machine_mode, const_rtx);
 static bool plus_minus_operand_p (const_rtx);
Index: tree-object-size.c
===================================================================
--- tree-object-size.c	(revision 238538)
+++ tree-object-size.c	(working copy)
@@ -738,7 +738,7 @@ merge_object_sizes (struct object_size_info *osi,
   orig_bytes = object_sizes[object_size_type][SSA_NAME_VERSION (orig)];
   if (orig_bytes != unknown[object_size_type])
     orig_bytes = (offset > orig_bytes)
-		 ? (unsigned HOST_WIDE_INT) 0 : orig_bytes - offset;
+		 ? HOST_WIDE_INT_0U : orig_bytes - offset;
 
   if ((object_size_type & 2) == 0)
     {


More information about the Gcc-patches mailing list