]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/function.c
Merge with trunk.
[thirdparty/gcc.git] / gcc / function.c
index ba881c9744ed30511878f402dc6758cbcb513ed0..ab3e495aacef8b95ba685b0529cfc90d25b8a60c 100644 (file)
@@ -3824,8 +3824,8 @@ locate_and_pad_parm (enum machine_mode passed_mode, tree type, int in_regs,
   {
     tree s2 = sizetree;
     if (where_pad != none
-       && (!host_integerp (sizetree, 1)
-           || (tree_low_cst (sizetree, 1) * BITS_PER_UNIT) % round_boundary))
+       && (!tree_fits_uhwi_p (sizetree)
+           || (tree_to_uhwi (sizetree) * BITS_PER_UNIT) % round_boundary))
       s2 = round_up (s2, round_boundary / BITS_PER_UNIT);
     SUB_PARM_SIZE (locate->slot_offset, s2);
   }
@@ -3867,7 +3867,7 @@ locate_and_pad_parm (enum machine_mode passed_mode, tree type, int in_regs,
 
 #ifdef PUSH_ROUNDING
   if (passed_mode != BLKmode)
-    sizetree = size_int (PUSH_ROUNDING (TREE_INT_CST_LOW (sizetree)));
+    sizetree = size_int (PUSH_ROUNDING (tree_to_hwi (sizetree)));
 #endif
 
   /* Pad_below needs the pre-rounded size to know how much to pad below
@@ -3877,8 +3877,8 @@ locate_and_pad_parm (enum machine_mode passed_mode, tree type, int in_regs,
     pad_below (&locate->offset, passed_mode, sizetree);
 
   if (where_pad != none
-      && (!host_integerp (sizetree, 1)
-         || (tree_low_cst (sizetree, 1) * BITS_PER_UNIT) % round_boundary))
+      && (!tree_fits_uhwi_p (sizetree)
+         || (tree_to_uhwi (sizetree) * BITS_PER_UNIT) % round_boundary))
     sizetree = round_up (sizetree, round_boundary / BITS_PER_UNIT);
 
   ADD_PARM_SIZE (locate->size, sizetree);
@@ -3969,7 +3969,7 @@ pad_below (struct args_size *offset_ptr, enum machine_mode passed_mode, tree siz
   else
     {
       if (TREE_CODE (sizetree) != INTEGER_CST
-         || (TREE_INT_CST_LOW (sizetree) * BITS_PER_UNIT) % PARM_BOUNDARY)
+         || (tree_to_hwi (sizetree) * BITS_PER_UNIT) % PARM_BOUNDARY)
        {
          /* Round the size up to multiple of PARM_BOUNDARY bits.  */
          tree s2 = round_up (sizetree, PARM_BOUNDARY / BITS_PER_UNIT);