[PATCH] Fix PR 46521 and 46522 (remnants of PR45352)
Vladimir Makarov
vmakarov@redhat.com
Tue Dec 21 18:52:00 GMT 2010
On 12/21/2010 10:58 AM, Andrey Belevantsev wrote:
> Hello,
>
> After the patch for PR45352 there were more test cases that revealed
> two more problems. First, we need to propagate the "rescheduling"
> bits from the current block to the next block more carefully, also
> through the empty blocks. Second, I thought that if we stall for more
> cycles that DFA tells us to, then the insn would be surely ready for
> issuing, but this is not the case, so I accounted for this in the
> function that resets scheduling cycles.
>
> Both problems fixed by the below patch, I have checked it on all tests
> from PRs 45352, 46521, and 46522 with all option variants found by
> Zdenek. The patch was bootstrapped and tested on x86-64 with
> selective scheduling enabled with -O2, and bootstrapped on ia64 again
> with selective scheduling enabled with -O2. Ok for trunk and active
> branches if testing on ia64 passes?
>
Ok. Thanks, Andrey.
> 2010-12-21 Andrey Belevantsev <abel@ispras.ru>
>
> PR rtl-optimization/45352
> PR rtl-optimization/46521
> PR rtl-optimization/46522
> * sel-sched.c (reset_sched_cycles_in_current_ebb): Recheck the DFA
> state
> on the last iteration of the advancing loop.
> (sel_sched_region_1): Propagate the rescheduling bit to the next
> block
> also for empty blocks.
>
> gcc.dg/pr46521.c: New.
> gcc.dg/pr46522.c: New.
>
I guess you are going to put it into different changelog file
testsuite/ChangeLog. I am writing it just to be sure.
More information about the Gcc-patches
mailing list