Commit 01007ae0 by Eric Botcazou Committed by Eric Botcazou

reorg.c (fill_simple_delay_slots): Reindent block of code.

	* reorg.c (fill_simple_delay_slots): Reindent block of code.
	* resource.c (mark_target_live_regs): Reformat conditional block.

From-SVN: r197949
parent da98a6a1
2013-04-14 Eric Botcazou <ebotcazou@adacore.com>
* reorg.c (fill_simple_delay_slots): Reindent block of code.
* resource.c (mark_target_live_regs): Reformat conditional block.
2013-04-13 Steven Bosscher <steven@gcc.gnu.org>
* sched-deps.c (deps_analyze_insn): Do not check for EH_REGION insn
......
......@@ -2144,69 +2144,66 @@ fill_simple_delay_slots (int non_jumps_p)
if (CALL_P (insn))
maybe_never = 1;
for (trial = next_nonnote_insn (insn); !stop_search_p (trial, 1);
trial = next_trial)
{
next_trial = next_nonnote_insn (trial);
for (trial = next_nonnote_insn (insn); !stop_search_p (trial, 1);
trial = next_trial)
{
next_trial = next_nonnote_insn (trial);
/* This must be an INSN or CALL_INSN. */
pat = PATTERN (trial);
/* This must be an INSN or CALL_INSN. */
pat = PATTERN (trial);
/* Stand-alone USE and CLOBBER are just for flow. */
if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER)
continue;
/* Stand-alone USE and CLOBBER are just for flow. */
if (GET_CODE (pat) == USE || GET_CODE (pat) == CLOBBER)
continue;
/* If this already has filled delay slots, get the insn needing
the delay slots. */
if (GET_CODE (pat) == SEQUENCE)
trial_delay = XVECEXP (pat, 0, 0);
else
trial_delay = trial;
/* Stop our search when seeing a jump. */
if (JUMP_P (trial_delay))
break;
/* See if we have a resource problem before we try to
split. */
if (GET_CODE (pat) != SEQUENCE
&& ! insn_references_resource_p (trial, &set, true)
&& ! insn_sets_resource_p (trial, &set, true)
&& ! insn_sets_resource_p (trial, &needed, true)
/* If this already has filled delay slots, get the insn needing
the delay slots. */
if (GET_CODE (pat) == SEQUENCE)
trial_delay = XVECEXP (pat, 0, 0);
else
trial_delay = trial;
/* Stop our search when seeing a jump. */
if (JUMP_P (trial_delay))
break;
/* See if we have a resource problem before we try to split. */
if (GET_CODE (pat) != SEQUENCE
&& ! insn_references_resource_p (trial, &set, true)
&& ! insn_sets_resource_p (trial, &set, true)
&& ! insn_sets_resource_p (trial, &needed, true)
#ifdef HAVE_cc0
&& ! (reg_mentioned_p (cc0_rtx, pat) && ! sets_cc0_p (pat))
&& ! (reg_mentioned_p (cc0_rtx, pat) && ! sets_cc0_p (pat))
#endif
&& ! (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))
{
next_trial = next_nonnote_insn (trial);
delay_list = add_to_delay_list (trial, delay_list);
&& ! (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))
{
next_trial = next_nonnote_insn (trial);
delay_list = add_to_delay_list (trial, delay_list);
#ifdef HAVE_cc0
if (reg_mentioned_p (cc0_rtx, pat))
link_cc0_insns (trial);
if (reg_mentioned_p (cc0_rtx, pat))
link_cc0_insns (trial);
#endif
delete_related_insns (trial);
if (slots_to_fill == ++slots_filled)
break;
continue;
}
delete_related_insns (trial);
if (slots_to_fill == ++slots_filled)
break;
continue;
}
mark_set_resources (trial, &set, 0, MARK_SRC_DEST_CALL);
mark_referenced_resources (trial, &needed, true);
mark_set_resources (trial, &set, 0, MARK_SRC_DEST_CALL);
mark_referenced_resources (trial, &needed, true);
/* Ensure we don't put insns between the setting of cc and the
comparison by moving a setting of cc into an earlier delay
slot since these insns could clobber the condition code. */
set.cc = 1;
/* Ensure we don't put insns between the setting of cc and the
comparison by moving a setting of cc into an earlier delay
slot since these insns could clobber the condition code. */
set.cc = 1;
/* If this is a call, we might not get here. */
if (CALL_P (trial_delay))
maybe_never = 1;
}
/* If this is a call, we might not get here. */
if (CALL_P (trial_delay))
maybe_never = 1;
}
/* If there are slots left to fill and our search was stopped by an
unconditional branch, try the insn at the branch target. We can
......
......@@ -990,9 +990,10 @@ mark_target_live_regs (rtx insns, rtx target, struct resources *res)
/* If this insn is a USE made by update_block, we care about the
underlying insn. */
if (code == INSN && GET_CODE (PATTERN (insn)) == USE
if (code == INSN
&& GET_CODE (PATTERN (insn)) == USE
&& INSN_P (XEXP (PATTERN (insn), 0)))
real_insn = XEXP (PATTERN (insn), 0);
real_insn = XEXP (PATTERN (insn), 0);
if (CALL_P (real_insn))
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment