[PATCH][modulo-sched 2/2] Fix scheduling order within a row
Revital1 Eres
ERES@il.ibm.com
Tue Nov 20 16:01:00 GMT 2007
Hello,
This patch tried to fix a problem described in:
http://gcc.gnu.org/ml/gcc/2007-11/msg00295.html. The problem is
related to a broken anti-deps caused by a bug in the calculation
of must_follow/must_precede bitmaps. This patch tries to fix this
problem by calculating must_follow/must_precede bitmaps based on the
step variable which indicates the direction we walk on the schedualing
window rather than directly from start and end rows which are the first
and last boundaries of the window.
Bootstrapped and tested together with the previous patch (1/2) on ppc,
SPU and x86 with no new regressions.
OK for mainline?
Thanks,
Revital
2007-11-20 Ayal Zaks <zaks@il.ibm.com>
Revital Eres <eres@il.ibm.com>
* modulo-sched.c (calculate_must_precede, calculate_must_follow,
node_can_be_scheduled_in_row_p): New functions.
(sms_schedule_by_order): Call the new functions. Peel the first
and last iterations of the loop which finds the first empty row
in the scheduling window to schedule a new node.
(ps_insn_find_column): Use must_follow and must_precede only if
they are not NULL.
(ps_insn_advance_column): Likewise.
testsuite:
* gcc.dg/sms-4.c: New testcase.
(See attached file: sms-4.c.txt)(See attached file: patch_fix_order_18.txt)
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sms-4.c.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20071120/db10ff36/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patch_fix_order_18.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20071120/db10ff36/attachment-0001.txt>
More information about the Gcc-patches
mailing list