[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