Revert this patch:
- * haifa-sched.c (schedule_block): Do not count USE and CLOBBER - insns against the issue rate. - - * sched-deps.c (sched_create_groups_for_libcalls): New function. - (sched_analyze): Use it. From-SVN: r54015
This commit is contained in:
parent
8dc901ded3
commit
e7206fbc5c
|
@ -63,17 +63,6 @@
|
|||
(SUBTARGET_EXTRA_SPECS): Define.
|
||||
(CPP_SPEC): Remove.
|
||||
|
||||
2002-05-29 Dale Johannesen <dalej@apple.com>
|
||||
Michael Matz <matz@kde.org>
|
||||
David Edelsohn <edesohn@gnu.org>
|
||||
Jeff Law <law@redhat.com>
|
||||
|
||||
* haifa-sched.c (schedule_block): Do not count USE and CLOBBER
|
||||
insns against the issue rate.
|
||||
|
||||
* sched-deps.c (sched_create_groups_for_libcalls): New function.
|
||||
(sched_analyze): Use it.
|
||||
|
||||
2002-05-29 Chris Lattner <sabre@nondot.org>
|
||||
|
||||
* ssa.c (rename_insn_1): Rename uses of undefined registers to
|
||||
|
|
|
@ -2179,10 +2179,7 @@ schedule_block (b, rgn_n_insns)
|
|||
can_issue_more =
|
||||
(*targetm.sched.variable_issue) (sched_dump, sched_verbose,
|
||||
insn, can_issue_more);
|
||||
/* A naked CLOBBER or USE generates no instruction, so do
|
||||
not count them against the issue rate. */
|
||||
else if (GET_CODE (PATTERN (insn)) != USE
|
||||
&& GET_CODE (PATTERN (insn)) != CLOBBER)
|
||||
else
|
||||
can_issue_more--;
|
||||
|
||||
schedule_insn (insn, &ready, clock_var);
|
||||
|
|
|
@ -88,7 +88,6 @@ static void flush_pending_lists PARAMS ((struct deps *, rtx, int, int));
|
|||
static void sched_analyze_1 PARAMS ((struct deps *, rtx, rtx));
|
||||
static void sched_analyze_2 PARAMS ((struct deps *, rtx, rtx));
|
||||
static void sched_analyze_insn PARAMS ((struct deps *, rtx, rtx, rtx));
|
||||
static void sched_create_groups_for_libcalls PARAMS ((rtx, rtx));
|
||||
static rtx group_leader PARAMS ((rtx));
|
||||
|
||||
static rtx get_condition PARAMS ((rtx));
|
||||
|
@ -1211,57 +1210,6 @@ sched_analyze_insn (deps, x, insn, loop_notes)
|
|||
}
|
||||
}
|
||||
|
||||
/* Find any libcall sequences between HEAD and TAIL inclusive; set
|
||||
SCHED_GROUP_P appropriately for such sequences. */
|
||||
|
||||
static void
|
||||
sched_create_groups_for_libcalls (head, tail)
|
||||
rtx head, tail;
|
||||
{
|
||||
rtx insn;
|
||||
int tail_seen_p = 0;
|
||||
|
||||
for (insn = head;; insn = NEXT_INSN (insn))
|
||||
{
|
||||
rtx link, end_seq, set, r0, note;
|
||||
if (INSN_P (insn) && GET_CODE (PATTERN (insn)) == CLOBBER
|
||||
&& (r0 = XEXP (PATTERN (insn), 0), GET_CODE (r0) == REG)
|
||||
&& (link = find_reg_note (insn, REG_LIBCALL, NULL_RTX)) != 0
|
||||
&& (end_seq = XEXP (link, 0)) != 0
|
||||
&& INSN_P (end_seq)
|
||||
&& (set = single_set (end_seq)) != 0
|
||||
&& SET_DEST (set) == r0 && SET_SRC (set) == r0
|
||||
&& (note = find_reg_note (end_seq, REG_EQUAL, NULL_RTX)) != 0)
|
||||
{
|
||||
/* We found a libcall block between insn and end_seq.
|
||||
The inner insns should be scheduled in a block. */
|
||||
rtx inner;
|
||||
/* Paranoia. */
|
||||
if (insn == tail)
|
||||
tail_seen_p = 1;
|
||||
/* We don't want to set this flag on the initial clobber, because
|
||||
the semantic of SCHED_GROUP_P is to make insn be scheduled
|
||||
together with the previous insn. */
|
||||
for (inner = NEXT_INSN (insn); inner; inner = NEXT_INSN (inner))
|
||||
{
|
||||
if (INSN_P (inner))
|
||||
set_sched_group_p (inner);
|
||||
/* Paranoia. */
|
||||
if (inner == tail)
|
||||
tail_seen_p = 1;
|
||||
if (inner == end_seq)
|
||||
break;
|
||||
}
|
||||
/* We should be able to skip the whole lib-call block.
|
||||
Remember that one NEXT_INSN is done in the loop-iteration. */
|
||||
insn = end_seq;
|
||||
}
|
||||
if (insn == tail || tail_seen_p)
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* Analyze every insn between HEAD and TAIL inclusive, creating LOG_LINKS
|
||||
for every dependency. */
|
||||
|
||||
|
@ -1409,10 +1357,6 @@ sched_analyze (deps, head, tail)
|
|||
{
|
||||
if (current_sched_info->use_cselib)
|
||||
cselib_finish ();
|
||||
|
||||
if (! reload_completed)
|
||||
sched_create_groups_for_libcalls (head, tail);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue