aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2005-10-20 14:14:30 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2005-10-20 12:14:30 +0000
commit2358ff9116d8167e4b0d2f70a9d61e4e8ca5168e (patch)
tree53ad2a0ca4edd7bccde7701601db72e04f5fd33c /gcc/function.c
parentb88a7564ad502161fc35d980c75a19c29c5835c1 (diff)
downloadgcc-2358ff9116d8167e4b0d2f70a9d61e4e8ca5168e.zip
gcc-2358ff9116d8167e4b0d2f70a9d61e4e8ca5168e.tar.gz
gcc-2358ff9116d8167e4b0d2f70a9d61e4e8ca5168e.tar.bz2
re PR rtl-optimization/23585 (mem_fun* code fine with -O1, bus error with -O2)
PR rtl-optimization/23585 * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from... (rtx_addr_can_trap_p): ... here. Invoke rtx_addr_can_trap_p_1. (may_trap_p_1): New predicate extracted from... (may_trap_p): ... here. Invoke may_trap_p_1. (may_trap_or_fault_p): New predicate. * rtl.h (may_trap_or_fault_p): Declare it. * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p instead of may_trap_p. (steal_delay_list_from_fallthrough): Likewise. (fill_simple_delay_slots): Likewise. (fill_slots_from_thread): Likewise. * function.c (pad_to_arg_alignment): Rework comment about SPARC_STACK_BOUNDARY_HACK. * config/sparc/sparc.h: Likewise. From-SVN: r105671
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 7cff2a0..941021e 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3370,10 +3370,9 @@ pad_to_arg_alignment (struct args_size *offset_ptr, int boundary,
HOST_WIDE_INT sp_offset = STACK_POINTER_OFFSET;
#ifdef SPARC_STACK_BOUNDARY_HACK
- /* The sparc port has a bug. It sometimes claims a STACK_BOUNDARY
- higher than the real alignment of %sp. However, when it does this,
- the alignment of %sp+STACK_POINTER_OFFSET will be STACK_BOUNDARY.
- This is a temporary hack while the sparc port is fixed. */
+ /* ??? The SPARC port may claim a STACK_BOUNDARY higher than
+ the real alignment of %sp. However, when it does this, the
+ alignment of %sp+STACK_POINTER_OFFSET is STACK_BOUNDARY. */
if (SPARC_STACK_BOUNDARY_HACK)
sp_offset = 0;
#endif