Correct fix for scheduler bug PR11320
Eric Botcazou
ebotcazou@adacore.com
Thu Jul 14 13:46:00 GMT 2011
> ??? 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).
Yes, the code does the same thing, but the original patch did clear up the
confusion set/use in sched_analyze_insn and compute_jump_reg_dependencies,
in particular in the comment of the latter. But OK, never mind.
--
Eric Botcazou
More information about the Gcc-patches
mailing list