sched-rgn.c (new_ready): Check if instruction can be speculatively scheduled before attempting speculation.
* sched-rgn.c (new_ready): Check if instruction can be speculatively scheduled before attempting speculation. (debug_rgn_dependencies): Remove wrongful assert. From-SVN: r138757
This commit is contained in:
parent
0f67bdf1cd
commit
07da1cfcf6
2 changed files with 21 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-08-06 Maxim Kuvyrkov <maxim@codesourcery.com>
|
||||
|
||||
* sched-rgn.c (new_ready): Check if instruction can be
|
||||
speculatively scheduled before attempting speculation.
|
||||
(debug_rgn_dependencies): Remove wrongful assert.
|
||||
|
||||
2008-08-05 Bob Wilson <bob.wilson@acm.org>
|
||||
|
||||
* config/xtensa/t-xtensa: Remove dependency for gt-xtensa.h.
|
||||
|
|
|
@ -2108,9 +2108,22 @@ new_ready (rtx next, ds_t ts)
|
|||
But we possibly can handle that with control speculation. */
|
||||
&& (current_sched_info->flags & DO_SPECULATION)
|
||||
&& (spec_info->mask & BEGIN_CONTROL))
|
||||
/* Here we got new control-speculative instruction. */
|
||||
ts = set_dep_weak (ts, BEGIN_CONTROL, MAX_DEP_WEAK);
|
||||
{
|
||||
ds_t new_ds;
|
||||
|
||||
/* Add control speculation to NEXT's dependency type. */
|
||||
new_ds = set_dep_weak (ts, BEGIN_CONTROL, MAX_DEP_WEAK);
|
||||
|
||||
/* Check if NEXT can be speculated with new dependency type. */
|
||||
if (sched_insn_is_legitimate_for_speculation_p (next, new_ds))
|
||||
/* Here we got new control-speculative instruction. */
|
||||
ts = new_ds;
|
||||
else
|
||||
/* NEXT isn't ready yet. */
|
||||
ts = (ts & ~SPECULATIVE) | HARD_DEP;
|
||||
}
|
||||
else
|
||||
/* NEXT isn't ready yet. */
|
||||
ts = (ts & ~SPECULATIVE) | HARD_DEP;
|
||||
}
|
||||
}
|
||||
|
@ -2584,7 +2597,6 @@ debug_rgn_dependencies (int from_bb)
|
|||
{
|
||||
rtx head, tail;
|
||||
|
||||
gcc_assert (EBB_FIRST_BB (bb) == EBB_LAST_BB (bb));
|
||||
get_ebb_head_tail (EBB_FIRST_BB (bb), EBB_LAST_BB (bb), &head, &tail);
|
||||
fprintf (sched_dump, "\n;; --- Region Dependences --- b %d bb %d \n",
|
||||
BB_TO_BLOCK (bb), bb);
|
||||
|
|
Loading…
Add table
Reference in a new issue