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
This commit is contained in:
parent
9c8860c370
commit
d3704c4668
|
@ -1,3 +1,14 @@
|
||||||
|
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>
|
2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
|
||||||
|
|
||||||
* haifa-sched.c (schedule_block): Use ready_remove_first instead
|
* 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)
|
&& int_size_in_bytes (type) < UNITS_PER_WORD)
|
||||||
return upward;
|
return upward;
|
||||||
|
|
||||||
/* This is the standard FUNCTION_ARG_PADDING with !BYTES_BIG_ENDIAN
|
/* Fall back to the default. */
|
||||||
hardwired to be true. */
|
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Linked list of all external functions that are to be emitted by GCC.
|
/* 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))
|
if (type != 0 && AGGREGATE_TYPE_P (type))
|
||||||
return upward;
|
return upward;
|
||||||
|
|
||||||
/* This is the default definition. */
|
/* Fall back to the default. */
|
||||||
return (!BYTES_BIG_ENDIAN
|
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
|
||||||
? 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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3624,14 +3624,8 @@ function_arg_padding (enum machine_mode mode, tree type)
|
||||||
return upward;
|
return upward;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is the default definition. */
|
/* Fall back to the default. */
|
||||||
return (! BYTES_BIG_ENDIAN
|
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
|
||||||
? 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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If defined, a C expression that gives the alignment boundary, in bits,
|
/* 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))
|
if (TARGET_ARCH64 && type != 0 && AGGREGATE_TYPE_P (type))
|
||||||
return upward;
|
return upward;
|
||||||
|
|
||||||
/* This is the default definition. */
|
/* Fall back to the default. */
|
||||||
return (! BYTES_BIG_ENDIAN
|
return DEFAULT_FUNCTION_ARG_PADDING (mode, type);
|
||||||
? 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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, and LIBCALL_VALUE macros.
|
/* Handle FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, and LIBCALL_VALUE macros.
|
||||||
|
|
|
@ -142,8 +142,7 @@ do { \
|
||||||
usually pad upward, but pad short args downward on
|
usually pad upward, but pad short args downward on
|
||||||
big-endian machines. */
|
big-endian machines. */
|
||||||
|
|
||||||
#ifndef FUNCTION_ARG_PADDING
|
#define DEFAULT_FUNCTION_ARG_PADDING(MODE, TYPE) \
|
||||||
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
|
|
||||||
(! BYTES_BIG_ENDIAN \
|
(! BYTES_BIG_ENDIAN \
|
||||||
? upward \
|
? upward \
|
||||||
: (((MODE) == BLKmode \
|
: (((MODE) == BLKmode \
|
||||||
|
@ -151,6 +150,10 @@ do { \
|
||||||
&& int_size_in_bytes (TYPE) < (PARM_BOUNDARY / BITS_PER_UNIT)) \
|
&& int_size_in_bytes (TYPE) < (PARM_BOUNDARY / BITS_PER_UNIT)) \
|
||||||
: GET_MODE_BITSIZE (MODE) < PARM_BOUNDARY) \
|
: GET_MODE_BITSIZE (MODE) < PARM_BOUNDARY) \
|
||||||
? downward : upward))
|
? downward : upward))
|
||||||
|
|
||||||
|
#ifndef FUNCTION_ARG_PADDING
|
||||||
|
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
|
||||||
|
DEFAULT_FUNCTION_ARG_PADDING ((MODE), (TYPE))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Supply a default definition for FUNCTION_ARG_BOUNDARY. Normally, we let
|
/* Supply a default definition for FUNCTION_ARG_BOUNDARY. Normally, we let
|
||||||
|
|
Loading…
Reference in New Issue