(store_one_arg): Use int_size_in_bytes and expr_size when appropriate
authorRichard Kenner <kenner@gcc.gnu.org>
Wed, 24 Mar 1993 01:20:32 +0000 (20:20 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Wed, 24 Mar 1993 01:20:32 +0000 (20:20 -0500)
instead of size_in_bytes.

From-SVN: r3863

gcc/calls.c

index 009eda8acbe826d69553d949fc1d1161d052934f..bd7b909d4bad16212fed9bc33df27bca2818cfa6 100644 (file)
@@ -2794,12 +2794,11 @@ store_one_arg (arg, argblock, may_be_alloca, variable_size, fndecl,
        }
       else
        {
-         register tree size = size_in_bytes (TREE_TYPE (pval));
          /* PUSH_ROUNDING has no effect on us, because
             emit_push_insn for BLKmode is careful to avoid it.  */
-         excess = (arg->size.constant - TREE_INT_CST_LOW (size)
+         excess = (arg->size.constant - int_size_in_bytes (TREE_TYPE (pval))
                    + partial * UNITS_PER_WORD);
-         size_rtx = expand_expr (size, NULL_RTX, VOIDmode, 0);
+         size_rtx = expr_size (TREE_TYPE (pval));
        }
 
       emit_push_insn (arg->value, arg->mode, TREE_TYPE (pval), size_rtx,