Richi has asked the we break the wide-int patch so that the individual port and 
front end maintainers can review their parts without have to go through the 
entire patch.    This patch covers the hook code.

Ok?

        * hooks.h: Include wide-int.h rather than double-int.h.
        (hook_bool_dint_dint_uint_bool_true): Delete.
        (hook_bool_wint_wint_uint_bool_true): Declare.
        * hooks.c
        (hook_bool_dint_dint_uint_bool_true): Removed.
        (hook_bool_wint_wint_uint_bool_true): New.
        * targhooks.h (can_use_doloop_if_innermost): Take widest_ints rather
        than double_ints.
        * targhooks.c
        (default_cxx_get_cookie_size): Uses INT_CST_LT rather than
        INT_CST_LT_UNSIGNED.
        (can_use_doloop_if_innermost): Take widest_ints rather than
        double_ints.


diff --git a/gcc/hooks.c b/gcc/hooks.c
index 9f53007..50c1250 100644
--- a/gcc/hooks.c
+++ b/gcc/hooks.c
@@ -332,7 +332,8 @@ hook_bool_rtx_int_int_int_intp_bool_false (rtx a 
ATTRIBUTE_UNUSED,
 }
 
 bool
-hook_bool_dint_dint_uint_bool_true (double_int, double_int, unsigned int, bool)
+hook_bool_wint_wint_uint_bool_true (const widest_int &, const widest_int &,
+                                   unsigned int, bool)
 {
   return true;
 }
diff --git a/gcc/hooks.h b/gcc/hooks.h
index 38454fb..38a5fd4 100644
--- a/gcc/hooks.h
+++ b/gcc/hooks.h
@@ -23,7 +23,7 @@
 #define GCC_HOOKS_H
 
 #include "machmode.h"
-#include "double-int.h"
+#include "wide-int.h"
 
 extern bool hook_bool_void_false (void);
 extern bool hook_bool_void_true (void);
@@ -61,7 +61,8 @@ extern bool hook_bool_rtx_int_int_int_intp_bool_false (rtx, 
int, int, int,
 extern bool hook_bool_tree_tree_false (tree, tree);
 extern bool hook_bool_tree_tree_true (tree, tree);
 extern bool hook_bool_tree_bool_false (tree, bool);
-extern bool hook_bool_dint_dint_uint_bool_true (double_int, double_int,
+extern bool hook_bool_wint_wint_uint_bool_true (const widest_int &,
+                                               const widest_int &,
                                                unsigned int, bool);
 
 extern void hook_void_void (void);
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index 6c08385..c383520 100644
--- a/gcc/targhooks.c
+++ b/gcc/targhooks.c
@@ -291,7 +291,7 @@ default_cxx_get_cookie_size (tree type)
 
   sizetype_size = size_in_bytes (sizetype);
   type_align = size_int (TYPE_ALIGN_UNIT (type));
-  if (INT_CST_LT_UNSIGNED (type_align, sizetype_size))
+  if (INT_CST_LT (type_align, sizetype_size))
     cookie_size = sizetype_size;
   else
     cookie_size = type_align;
@@ -1744,7 +1744,7 @@ default_builtin_chkp_function (unsigned int fcode 
ATTRIBUTE_UNUSED)
    not support nested low-overhead loops.  */
 
 bool
-can_use_doloop_if_innermost (double_int, double_int,
+can_use_doloop_if_innermost (const widest_int &, const widest_int &,
                             unsigned int loop_depth, bool)
 {
   return loop_depth == 1;
diff --git a/gcc/targhooks.h b/gcc/targhooks.h
index 1ba0c1d..aed5778 100644
--- a/gcc/targhooks.h
+++ b/gcc/targhooks.h
@@ -213,5 +213,6 @@ extern tree default_fn_abi_va_list_bounds_size (tree);
 extern tree default_chkp_bound_type (void);
 extern enum machine_mode default_chkp_bound_mode (void);
 extern tree default_builtin_chkp_function (unsigned int);
-extern bool can_use_doloop_if_innermost (double_int, double_int,
+extern bool can_use_doloop_if_innermost (const widest_int &,
+                                        const widest_int &,
                                         unsigned int, bool);

Reply via email to