This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Correct fix for scheduler bug PR11320
On 07/14/11 14:18, Eric Botcazou wrote:
>> Any particular bits you still see that don't get reverted with this patch?
>
> The ebb_compute_jump_reg_dependencies changes. The original patch has:
>
> * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
> Mark registers live on entry of the fallthrough block and conditionally
> set as set by the jump. Mark registers live on entry of non-fallthrough
> blocks as used by the jump.
>
> but you're reverting only:
>
> * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
> Mark registers live on entry of the fallthrough block and conditionally
> set as set by the jump.
>
??? Original code:
basic_block b = BLOCK_FOR_INSN (insn);
edge e;
for (e = b->succ; e; e = e->succ_next)
! if ((e->flags & EDGE_FALLTHRU) == 0)
! {
! bitmap_operation (set, set, e->dest->global_live_at_start,
! BITMAP_IOR);
! }
}
Code after the revert:
FOR_EACH_EDGE (e, ei, b->succs)
+ if ((e->flags & EDGE_FALLTHRU) == 0)
bitmap_ior_into (used, df_get_live_in (e->dest));
As far as I can tell these are identical, modulo the change in variable
name ("set" -> "used" which seems like a better name).
Bernd