Commit d3704c46 by Kazu Hirata Committed by Kazu Hirata

expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.

	* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
	(FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
	* config/ia64/ia64.c (ia64_hpux_function_arg_padding):
	Likewise.
	* config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
	Likewise.
	* config/rs6000/rs6000.c (function_arg_padding): Likewise.
	* config/sparc/sparc.c (function_arg_padding): Likewise.

From-SVN: r71406
parent 9c8860c3
2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
(FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
* config/ia64/ia64.c (ia64_hpux_function_arg_padding):
Likewise.
* config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
Likewise.
* config/rs6000/rs6000.c (function_arg_padding): Likewise.
* config/sparc/sparc.c (function_arg_padding): Likewise.
2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
* haifa-sched.c (schedule_block): Use ready_remove_first instead
......
......@@ -8248,14 +8248,8 @@ ia64_hpux_function_arg_padding (enum machine_mode mode, tree type)
&& int_size_in_bytes (type) < UNITS_PER_WORD)
return upward;
/* This is the standard FUNCTION_ARG_PADDING with !BYTES_BIG_ENDIAN
hardwired to be true. */
return((mode == BLKmode
? (type && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& int_size_in_bytes (type) < (PARM_BOUNDARY / BITS_PER_UNIT))
: GET_MODE_BITSIZE (mode) < PARM_BOUNDARY)
? downward : upward);
/* Fall back to the default. */
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
}
/* Linked list of all external functions that are to be emitted by GCC.
......
......@@ -1582,14 +1582,8 @@ m68hc11_function_arg_padding (mode, type)
if (type != 0 && AGGREGATE_TYPE_P (type))
return upward;
/* This is the default definition. */
return (!BYTES_BIG_ENDIAN
? upward
: ((mode == BLKmode
? (type && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& int_size_in_bytes (type) <
(PARM_BOUNDARY / BITS_PER_UNIT)) : GET_MODE_BITSIZE (mode) <
PARM_BOUNDARY) ? downward : upward));
/* Fall back to the default. */
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
}
......
......@@ -3624,14 +3624,8 @@ function_arg_padding (enum machine_mode mode, tree type)
return upward;
}
/* This is the default definition. */
return (! BYTES_BIG_ENDIAN
? upward
: ((mode == BLKmode
? (type && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& int_size_in_bytes (type) < (PARM_BOUNDARY / BITS_PER_UNIT))
: GET_MODE_BITSIZE (mode) < PARM_BOUNDARY)
? downward : upward));
/* Fall back to the default. */
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
}
/* If defined, a C expression that gives the alignment boundary, in bits,
......
......@@ -5541,14 +5541,8 @@ function_arg_padding (enum machine_mode mode, tree type)
if (TARGET_ARCH64 && type != 0 && AGGREGATE_TYPE_P (type))
return upward;
/* This is the default definition. */
return (! BYTES_BIG_ENDIAN
? upward
: ((mode == BLKmode
? (type && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
&& int_size_in_bytes (type) < (PARM_BOUNDARY / BITS_PER_UNIT))
: GET_MODE_BITSIZE (mode) < PARM_BOUNDARY)
? downward : upward));
/* Fall back to the default. */
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
}
/* Handle FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, and LIBCALL_VALUE macros.
......
......@@ -142,8 +142,7 @@ do { \
usually pad upward, but pad short args downward on
big-endian machines. */
#ifndef FUNCTION_ARG_PADDING
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
#define DEFAULT_FUNCTION_ARG_PADDING(MODE, TYPE) \
(! BYTES_BIG_ENDIAN \
? upward \
: (((MODE) == BLKmode \
......@@ -151,6 +150,10 @@ do { \
&& int_size_in_bytes (TYPE) < (PARM_BOUNDARY / BITS_PER_UNIT)) \
: GET_MODE_BITSIZE (MODE) < PARM_BOUNDARY) \
? downward : upward))
#ifndef FUNCTION_ARG_PADDING
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
DEFAULT_FUNCTION_ARG_PADDING ((MODE), (TYPE))
#endif
/* Supply a default definition for FUNCTION_ARG_BOUNDARY. Normally, we let
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment