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] |
On Fri, Jul 19, 2002 at 03:35:14PM -0700, Richard Henderson wrote: > The remaining sts/lds pairs are writes then reads from SY. > We've lost track of the fact that the write is to index I > and the read from index I+1, and so cannot overlap. This appears to be the unroller doing stupid things. The attached patch1 should cure this. If this patch can be shown to be a win, we can axe this section of code properly rather than goto out of it. I also tried running the unroller during the first loop pass so that the second loop pass could clean up the giv lossage. This didn't work for this case, but I'd be interested in knowing what effect this has generically. I.e. a three-way benchmark comparison: with -fno-rerun-loop-opt without patch2 with patch2 r~
Attachment:
patch1
Description: Text document
Attachment:
patch2
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |