This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Modulo-scheduling improvements. Missed initialization.


Hi all,
I've encountered a bootstrap comparison failure building a 64bit
mainline with "-fmodulo-sched" enabled on PowerPC 970 (OpenSuse 10.2)
together with the "Modulo-scheduling improvements patches" sent for
review on January 17:
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01468.html
http://gcc.gnu.org/ml/gcc-patches/2007-01/msg01470.html
[Previously successfully tested the patches on SPU, x86 and PowerPC
970 (but with SLES 9 Linux).]

The reason for the failure was the missing initialization of sbitmap
scc_nodes. This could cause in some cases the size of the possible
schedule to be estimated incorrectly resulting in a loop to be not
SMSed in one stage during the bootstrap and SMSed in another resulting
in a comparison failure. Since this bug is not related to the
scheduling itself, it couldn't result in an incorrect code. This bug
is only exposed together with the "Modulo-scheduling improvements
patches"  mentioned above(any comments on them? thanks.) but can be
applied independently.

Bootstrapped and regtested with "-fmodulo-sched" enabled on
powerpc64-suse-linux.

ok for mainline?

:ADDPATCH modulo-sched:

thanks,
Vladimir

Index: ddg.c
===================================================================
*** ddg.c       (revision 121234)
--- ddg.c       (working copy)
*************** create_ddg_all_sccs (ddg_ptr g)
*** 866,871 ****
--- 868,874 ----
       if (backarc->aux.count == IN_SCC)
       continue;

+       sbitmap_zero (scc_nodes);
       sbitmap_zero (from);
       sbitmap_zero (to);
       SET_BIT (from, dest->cuid);



Changelog:
2007-02-22     Vladimir Yanovsky     <yanov@il.ibm.com>
               * ddg.c (create_ddg_all_sccs): fix missed
initialization of scc_nodes


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]