Speculative prefetching: report

Dale Johannesen dalej@apple.com
Tue Oct 12 20:02:00 GMT 2004


Has anybody been trying the recently added prefetching based on feedback
(-fspeculative-prefetching)?  I found the following problems on 
darwin-ppc:

1.  It has a bug which causes ICEs.  The fix is here.
http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01277.html
Could somebody please approve?

2.  In the profile-generation phase, there is a huge code bloat 
resutling from
instrumenting all the loads and stores.  This badly stresses the rest 
of the BE,
causing out-of-memory ICEs or unacceptably slow compile times (hours) on
several SPECmarks.  (With IMA to be sure.)

3.  The SPECmarks which did build got consistently worse results.
I did no deep analysis, but it appears to be much too aggressive about
prefetching; it will prefetch each store of an unrolled memset loop 
individually,
for example  I think it needs some concept of cache line size to be 
useful.

This is a Cool Idea, but in its current form I don't think it belongs in
-fprofile-generate/use.  Comments?



More information about the Gcc mailing list