diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-20 12:14:30 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-20 12:14:30 +0000 |
commit | 1aecae7fb0afb47d584be4ff1e4ccb15bf61d098 (patch) | |
tree | 53ad2a0ca4edd7bccde7701601db72e04f5fd33c /gcc/reorg.c | |
parent | bde482178444de3bbc8712d7f93ed21e496c0c69 (diff) | |
download | gcc-1aecae7fb0afb47d584be4ff1e4ccb15bf61d098.tar.gz |
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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105671 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 10 |
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); |