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]

Re: Patch to improve loop MEM handling


> In message <200008260028.UAA11284@jwlab.FEITH.COM>you write:
> > This patch changes things so that load_mems and loop_invariant_p
> > can use true_dependence to determine what is clobbered by BLKmode
> > MEM references.  This potentially allows more loop invariants to
> > be detected.  This patch passes make bootstrap and make check on
> > Compaq Tru64 UNIX 4.0f and FreeBSD-3.5 x86.

> Presumably you made this change because it was actually important in
> some code you were looking at? :-)

Not exactly.  The optimization suggested itself when I was looking
at loop.c for other reasons.  This change when coupled with recent
changes to alias.c allows loop to realize that MEMs which reference
the constants pool are never clobbered.  The benchmark I ran shows
only a small improvement so I'm not sure that the change rates as
"important", maybe other people will see more of a "bang".

Original BRL-CAD raytracing benchmarks on a Pentium II:

Abs	wagner.FEITH.COM	34477.54	16570.05	14757.19	14072.78	16938.47	19363.20	Fri Aug 25 14:56:20 EDT 2000
*vgr	wagner.FEITH.COM	251.64	247.09	263.19	263.73	239.61	253.05	

With patch applied:

Abs	wagner.FEITH.COM	34735.44	16606.08	14764.46	14089.27	17008.09	19440.66	Sun Aug 27 22:15:31 EDT 2000
*vgr	wagner.FEITH.COM	253.52	247.63	263.32	264.04	240.60	253.82	

-- John
-------------------------------------------------------------------------
|   Feith Systems  |   Voice: 1-215-646-8000  |  Email: john@feith.com  |
|    John Wehle    |     Fax: 1-215-540-5495  |                         |
-------------------------------------------------------------------------


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