re PR rtl-optimization/23585 (mem_fun* code fine with -O1, bus error with -O2)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Thu, 20 Oct 2005 12:14:30 +0000 (14:14 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 20 Oct 2005 12:14:30 +0000 (12:14 +0000)
commit2358ff9116d8167e4b0d2f70a9d61e4e8ca5168e
tree53ad2a0ca4edd7bccde7701601db72e04f5fd33c
parentb88a7564ad502161fc35d980c75a19c29c5835c1
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
gcc/ChangeLog
gcc/config/sparc/sparc.h
gcc/function.c
gcc/reorg.c
gcc/rtl.h
gcc/rtlanal.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/delay-slot-1.C [new file with mode: 0644]