<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Mar 2, 2012, at 2:59 PM, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:</div><blockquote type="cite"><div><font color="#000000"><br></font><blockquote type="cite">If you annotate loads with their expected latency, the upcoming<br>MachineScheduler will be able to use the information. In the short<br>term (next couple months), you're free to hack the SDScheduler as<br>well.<br></blockquote><br>Alright, sounds good. If I add metadata to the load, can I get to it<br>thought the Value * in the associated MachineMemOperand object? <br></div></blockquote><div><br></div><div>AFAIK. I certainly don't have a problem with that approach. I've heard there's a preference for lowering information into self-contained machine code. But referring back to IR makes a lot of sense to me personally. If we ever want to serialize MIs I think we should serialize the IR with it.</div><br><blockquote type="cite"><div>I'm afraid that "as many iterations ahead as possible" may turn out to<br>be too few if I start at the very next iteration because the request<br>buffer is small. Nevertheless, it is certainly worth a try.<br></div></blockquote></div><br><div>It sounds like it's really important for you to avoid useless prefetches. This can be tricky. Other than that I don't see a way around your problem. Does it help to give your prefetches a head start? If your loop eats cache lines faster than you can feed it, eventually it will catch up.</div><div><br></div><div>-Andy</div></body></html>