My god! I would love a branch predictor! It would simplify many aspects of my register allocator.<div><br></div><div>Second, I am surprised it did not make it into the tree. Since more is being done with register allocation as a while "RegAllocBasic" was just put in, I hope this is looked at again.</div>
<div><br></div><div>Do you have a working svn copy?</div><div><br></div><div>Also, could you send me a copy/link to that '94 paper off the list please?</div><div><br></div><div>-Thanks</div><div>-Jeff Kunkel</div><div>
<br><div class="gmail_quote">On Tue, Nov 2, 2010 at 6:57 PM, kapil anand <span dir="ltr"><<a href="mailto:kapilanand2@gmail.com">kapilanand2@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Thanks Andrei!<br><br>I haven't read the paper. I would see whether this fulfills my requirements or whether I need to make any changes.<br><font color="#888888"><br>--Kapil</font><div><div></div><div class="h5"><br><br>
<div class="gmail_quote">On Tue, Nov 2, 2010 at 12:43 PM, Andrei Alvares <span dir="ltr"><<a href="mailto:logytech@gmail.com" target="_blank">logytech@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left:1px solid rgb(204, 204, 204);margin:0pt 0pt 0pt 0.8ex;padding-left:1ex">Hello Kapil,<br>
<br>
  I have implemented a static profiler for LLVM as a google summer of<br>
code project in 2009. I wrote it for the 2.4 branch, but the<br>
implementation never made into the tree. I have recently ported it to<br>
LLVM 2.8, but I haven't tested it. You can take a look at the code<br>
from: <a href="http://homepages.dcc.ufmg.br/%7Erimsa/tools/stprof-llvm.patch" target="_blank">http://homepages.dcc.ufmg.br/~rimsa/tools/stprof-llvm.patch</a><br>
<br>
  The implementation is based on Wu's [1994] paper and provides a<br>
branch predictor that calculates probabilities. The implementation<br>
also covers an intraprocedural and interprocedural frequency<br>
calculator for edges and functions.<br>
<br>
  Reference:<br>
Youfeng Wu and James R. Larus. Static branch frequency and program<br>
profile analysis. In MICRO 27: Proceedings of the 27th annual<br>
international symposium on Microarchitecture. IEEE, 1994.<br>
<br>
  Regards,<br>
<font color="#888888">    Andrei<br>
</font><div><div></div><div><br>
On Tue, Nov 2, 2010 at 10:46 AM, Andrew Lenharth <<a href="mailto:andrewl@lenharth.org" target="_blank">andrewl@lenharth.org</a>> wrote:<br>
> On Tue, Nov 2, 2010 at 12:28 AM, kapil anand <<a href="mailto:kapilanand2@gmail.com" target="_blank">kapilanand2@gmail.com</a>> wrote:<br>
>> Hi all,<br>
>><br>
>> Does LLVM infrastructure contain implementation of any static profiling<br>
>> algorithm apart from "Spill-Weight" calculation present in Live Intervals<br>
>> class? The future work page does suggest implementation of some "static<br>
>> profiling" algorithms to make an educated guesses about the relative<br>
>> execution frequencies of various parts of the code.<br>
><br>
> If you look at old releases, there was a profiling library and<br>
> transforms, including infrastructure to do any of the profiling with<br>
> random sampling.  Those were unmaintained and removed not that long<br>
> ago.  What you could profile was somewhat limited.<br>
><br>
> Andrew<br>
><br>
><br>
>> Thanks<br>
>><br>
>> --Kapil<br>
>><br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
>><br>
>><br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
</div></div></blockquote></div><br>
</div></div><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>