<div class="gmail_quote">On Tue, Aug 30, 2011 at 10:25 PM, Hae-woo Park <span dir="ltr"><<a href="mailto:starlet@iris.snu.ac.kr">starlet@iris.snu.ac.kr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br><div>Hello :)</div><div><br></div><div>I am looking around __builtin_expect() directive for optimization.</div><div>( <a href="http://llvm.org/docs/BranchWeightMetadata.html" target="_blank">http://llvm.org/docs/BranchWeightMetadata.html</a> )</div>

<div>Since it is not included in v2.9, I am searching about it on svn trunk.</div><div><br></div><div>I found that the lowering phase generates branch-weight metadata node for that directive.</div><div>However, I can't find any code related to the metadata even in the branch transformation code.</div>

<div>IMHO, in case the branch direction is, for example, reversed for optimization,</div><div>the corresponding branch-weight metadata also has to be changed.</div><div><br></div><div>In what code can I find such a metadata management code ?</div>

<div>Can anyone give me a hint ?</div></blockquote><div><br></div><div>lib/Analysis/BranchProbabilityInfo.cpp (and the accompanying header) provide an LLVM Analysis pass that should model metadata, as well as __builtin_expect() information, and various generally accepted static branch probabilities. It is likely what you're looking for.</div>
<div><br></div><div>You can also find a MachineBranchProbabilityInfo pass that operates at the machine layer to guide architecture-specific optimization and passes that need the same set of information.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><br></div><div>Thank you.</div><div>Have a nice day. :)</div><div><br></div><div><br></div><div><br></div><div>Regards,</div><div>Hae-woo Park</div><span class="HOEnZb"><font color="#888888"><div><br></div><div><br></div>

</font></span><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>