aboutsummaryrefslogtreecommitdiff
path: root/gcc/reorg.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2005-10-20 12:14:30 +0000
committerEric Botcazou <ebotcazou@libertysurf.fr>2005-10-20 12:14:30 +0000
commitce763ed4c6b9b2376bd79cd4835cf47feb142990 (patch)
tree53ad2a0ca4edd7bccde7701601db72e04f5fd33c /gcc/reorg.c
parente663a10467bf4444d0b151a7d2363e8e1541253e (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@105671 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r--gcc/reorg.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 8b9d7efccfb..46154f1fd3a 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1337,7 +1337,7 @@ steal_delay_list_from_target (rtx insn, rtx condition, rtx seq,
if (! must_annul
&& ((condition == const_true_rtx
|| (! insn_sets_resource_p (trial, other_needed, 0)
- && ! may_trap_p (PATTERN (trial)))))
+ && ! may_trap_or_fault_p (PATTERN (trial)))))
? eligible_for_delay (insn, total_slots_filled, trial, flags)
: (must_annul || (delay_list == NULL && new_delay_list == NULL))
&& (must_annul = 1,
@@ -1431,7 +1431,7 @@ steal_delay_list_from_fallthrough (rtx insn, rtx condition, rtx seq,
if (! must_annul
&& ((condition == const_true_rtx
|| (! insn_sets_resource_p (trial, other_needed, 0)
- && ! may_trap_p (PATTERN (trial)))))
+ && ! may_trap_or_fault_p (PATTERN (trial)))))
? eligible_for_delay (insn, *pslots_filled, trial, flags)
: (must_annul || delay_list == NULL) && (must_annul = 1,
check_annul_list_true_false (1, delay_list)
@@ -2323,7 +2323,7 @@ fill_simple_delay_slots (int non_jumps_p)
#ifdef HAVE_cc0
&& ! (reg_mentioned_p (cc0_rtx, pat) && ! sets_cc0_p (pat))
#endif
- && ! (maybe_never && may_trap_p (pat))
+ && ! (maybe_never && may_trap_or_fault_p (pat))
&& (trial = try_split (pat, trial, 0))
&& eligible_for_delay (insn, slots_filled, trial, flags)
&& ! can_throw_internal(trial))
@@ -2376,7 +2376,7 @@ fill_simple_delay_slots (int non_jumps_p)
#ifdef HAVE_cc0
&& ! reg_mentioned_p (cc0_rtx, PATTERN (next_trial))
#endif
- && ! (maybe_never && may_trap_p (PATTERN (next_trial)))
+ && ! (maybe_never && may_trap_or_fault_p (PATTERN (next_trial)))
&& (next_trial = try_split (PATTERN (next_trial), next_trial, 0))
&& eligible_for_delay (insn, slots_filled, next_trial, flags)
&& ! can_throw_internal (trial))
@@ -2656,7 +2656,7 @@ fill_slots_from_thread (rtx insn, rtx condition, rtx thread,
if (!must_annul
&& (condition == const_true_rtx
|| (! insn_sets_resource_p (trial, &opposite_needed, 1)
- && ! may_trap_p (pat))))
+ && ! may_trap_or_fault_p (pat))))
{
old_trial = trial;
trial = try_split (pat, trial, 0);