This is the mail archive of the gcc@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] | |
Hello, While testing a patch related to SMS I encountered a problem which this patch tries to fix. The problematic case involves write after read to the same memory location (see attached file sms-4.c). In this case we have one anti-dep edge with distance 0 from node r (containing the read operation) to node w (containing the write operation) and true dep edge with distance 1 from node w to node r. Consider scheduling node r after node w was already been scheduled and that node w is scheduled in the start row of node r's scheduling window. In the current implemetation we will add node w to node r's must_preceed bitmap although node w must_follow node r in this case. Trying to avoid this we can use both must_follow and must_preceed bitmaps for checking possible scheduling columns in the start and end rows. To avoid the situation where a node appears in both must_follow and must_preceed bitmaps the distance of the edge is taken into account. I would appreciate comments regarding this patch especially the part which tries to avoid situation where a node appears in both must_follow and must_preceed bitmaps. My concern is that there could be situation where for the above case (write after read) w must_preceed r, so it might be that a more accurate calculation is needed. This patch; together with another patch I mentioned at the beginning where tested on ppc with no regressions so far. Thanks, Revital (See attached file: sms-4.c.txt)(See attached file: patch_fix_order_12.txt)
Attachment:
sms-4.c.txt
Description: Text document
Attachment:
patch_fix_order_12.txt
Description: Text document
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |