Speculative prefetching: report

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Fri Oct 15 21:04:00 GMT 2004


Hello,

> 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.)

this is bad.  I guess it should be possible to prune the references we
try to prefetch somehow.

> 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.

yes, definitely there is quite a lot of place for improvement.
The set of heuristics used to determine what to prefetch and
how is quite crude (on one side it is quite limited, so some
cases in that prefetching could be useful are ignored; in the
other cases things like memory references in unrolled loops
or just groups of references to adjacent addresses are not handled
properly).

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

In the current state I agree.

Zdenek



More information about the Gcc mailing list