<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Nov 29, 2016 at 11:36 AM Dehao Chen <<a href="mailto:dehao@google.com">dehao@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Tue, Nov 29, 2016 at 10:55 AM, David Blaikie <span dir="ltr" class="gmail_msg"><<a href="mailto:dblaikie@gmail.com" class="gmail_msg" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><span class="gmail_msg"><div dir="ltr" class="gmail_msg">On Mon, Nov 28, 2016 at 2:47 PM Dehao Chen <<a href="mailto:dehao@google.com" class="gmail_msg" target="_blank">dehao@google.com</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">On Mon, Nov 28, 2016 at 2:32 PM, David Blaikie <span dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><<a href="mailto:dblaikie@gmail.com" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><span class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail- m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">On Mon, Nov 28, 2016 at 2:18 PM Dehao Chen <<a href="mailto:dehao@google.com" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">dehao@google.com</a>> wrote:<br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">I thought NFC applies to "obvious change to fix corner-case bugs", and apparently I was wrong and I'm sorry about that.</div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></span><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Ah, right - NFC means No Functional Change. We use this to tag pure refactoring changes that do not change the observable behavior of the component in question. (eg: changing the API of SmallVector might not change the observable behavior of LLVM, but it probably still wouldn't be tagged NFC, because we tend to unit test ADTs directly - but changing some pass so that it still optimizes in the same way, but doesn't, say, build some intermediate data structure anymore, would be NFC because at the level we test that pass, nothing has changed)<br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><span class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail- m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> </div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> What's the recommend steps to move forward for situations like this? Shall I revert the patch and send out a code review?</div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></span><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Doesn't seem like there's anything needed to be done - just an FYI of don't use 'NFC' when semantics/behavior do change. You included what appears to be appropriate test coverage, etc, so no worries there.</div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Thanks for the explanation. <br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><span class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail- m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> <br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">On Mon, Nov 28, 2016 at 10:04 AM, David Blaikie <span dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><<a href="mailto:dblaikie@gmail.com" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><span class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">On Tue, Nov 22, 2016 at 2:59 PM Dehao Chen via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Author: dehao<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Date: Tue Nov 22 16:50:01 2016<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
New Revision: 287710<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=287710&view=rev" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=287710&view=rev</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Log:<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Before sample pgo annotation, do not inline a function that has no debug info. (NFC)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></blockquote><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></span><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">(+1 to Paul's comment - this sounds like a change, has test changes, and is probably not NFC)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Also: This sounds like it does the opposite of what we want as a requirement: that the presence or absence of debug info should not change the resulting code.<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">What's the deal?</div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">This particular pass requires debug info to make decisions.</div></div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></span><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Sorry, clearly not my area of understanding/expertise - could you give a brief description of why/how that is?</div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Sample profile is represented as a map from Debug Loc to sample count. The SampleProfileLoader pass reads in the profile, and then traverse the IR to read its debug loc and try to find a match from the map. If a match is found, then the count is used to annotate the IR. (The actual process is more complication, but this is the basic idea).</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">So this pass requires that all IR has DebugLoc available, otherwise it cannot find a match in the profile. As a result, we enforce debug loc to be available before this pass when building with -fprofile-sample-use</div></div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></span><div class="gmail_msg">How does this relate to the choice of inlining, though? & if the algorithm has trouble with functions containing unassociated debug info (which I'm suspecting is where the inf loop came in? not sure) that could be a problem that might come up if it's fed more 'interesting' IR, even without making this inlining choice.<br class="gmail_msg"></div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">The inlining heuristic before sample pgo annotation is: if a callsite is inlined in the profiling binary, and the total sample of the inlined callee exceeds a threshold, we will inline the callsite before annotation.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">The inf loop problem is, when the callee has no debug info, when inlining callee, all it's IR will inherit the debug info of the callsite (which is marked as should_inline, as it satisfied the above condition). If there is a recursive call in the callee, then this callsite will always inherit the debug info of that hot-inlined-callsite, and keep getting inlined. So the fix here is, we not only check if a callsite is inlined & hot in profiling binary, but also check if the callee has profile: if not, we will not inlining it because inlining it does not help annotation as no debug info is available to annotation.</div></div></div></div></blockquote><div><br></div><div>Hrm.<br><br>It seems (admittedly naively) to me that something is a bit confused if that's how it all happens.<br><br>If the original profile did have the function inlined, and attributed all the hits in the inlined code to the call site location - that's already potentially erroneous, right? If the called function has loops, conditionals, etc, then it's not all equally hot but appears that way in the profile. Should discriminators catch/diagnose that?<br><br>If the profile was accurate, and it really was that hot all the way down, then the inlining would be reasonable/correct. (& would eventually terminate if modeled correctly - because the recursive call would eventually be not hot enough, right?)<br><br>*puzzles*<br><br>- Dave</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Dehao</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg">Perhaps you could explain further how the inf loop comes up/how this addresses it?<br class="gmail_msg"><br class="gmail_msg">(& more out of curiosity, how the inlining choices are made, why they're important here)</div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">Hopeful above explained the inline choice here. The reason it is important is:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">1. it makes profile annotation natural and easy</div><div class="gmail_msg">2. it reserves profile info for all copies of hot code (context-sensitive profile). E.g. if foo is inlined into different callers with different behavior, all these behavior will be reserved in profile instead of merged into one profile.</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><div class="m_1933862460038223297h5 gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><span class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail- m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> This is mandated by pass manager: even with -g0, PM will make sure debug info is available before this pass.</div></div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></span><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">The PM doesn't produce debug info, though - the client building IR (Clang, etc) does.</div></div></div></blockquote><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Right, it's the PM, but ParseCodeGenArgs (in frontend) that enforces debug info:</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">  // If the user requested to use a sample profile for PGO, then the</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">  // backend will need to track source location information so the profile</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">  // can be incorporated into the IR.</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">  if (!Opts.SampleProfileFile.empty())</div><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">    NeedLocTracking = true;</div></div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-h5 m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> </div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> But if user manually removed the debug info, the code should also handle it correctly, which is fixed by this patch.</div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"></div><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">Dehao</div></div></div></div><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_extra m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> </div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069h5 m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"><div class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg"> </div><blockquote class="gmail_quote m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
If there is no debug info in the callee, inlining it will not help annotator. This avoids infinite loop as reported in PR/31119.<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Added:<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
    llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
    llvm/trunk/test/Transforms/SampleProfile/nodebug.ll<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Modified:<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
    llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
    llvm/trunk/test/Transforms/SampleProfile/early-inline.ll<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Modified: llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp?rev=287710&r1=287709&r2=287710&view=diff" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp?rev=287710&r1=287709&r2=287710&view=diff</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
==============================================================================<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
--- llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp (original)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+++ llvm/trunk/lib/Transforms/IPO/SampleProfile.cpp Tue Nov 22 16:50:01 2016<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
@@ -651,6 +651,8 @@ bool SampleProfileLoader::inlineHotFunct<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
       InvokeInst *II = dyn_cast<InvokeInst>(I);<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
       Function *CalledFunction =<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
           (CI == nullptr ? II->getCalledFunction() : CI->getCalledFunction());<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+      if (!CalledFunction || !CalledFunction->getSubprogram())<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+        continue;<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
       DebugLoc DLoc = I->getDebugLoc();<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
       uint64_t NumSamples = findCalleeFunctionSamples(*I)->getTotalSamples();<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
       if ((CI && InlineFunction(CI, IFI)) || (II && InlineFunction(II, IFI))) {<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Added: llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof?rev=287710&view=auto" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof?rev=287710&view=auto</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
==============================================================================<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
--- llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof (added)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+++ llvm/trunk/test/Transforms/SampleProfile/Inputs/nodebug.prof Tue Nov 22 16:50:01 2016<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
@@ -0,0 +1,2 @@<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+foo:100:10<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+ 0: bar:10<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Modified: llvm/trunk/test/Transforms/SampleProfile/early-inline.ll<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/early-inline.ll?rev=287710&r1=287709&r2=287710&view=diff" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/early-inline.ll?rev=287710&r1=287709&r2=287710&view=diff</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
==============================================================================<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
--- llvm/trunk/test/Transforms/SampleProfile/early-inline.ll (original)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+++ llvm/trunk/test/Transforms/SampleProfile/early-inline.ll Tue Nov 22 16:50:01 2016<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
@@ -28,7 +28,7 @@ define void @_Z3foov() #0 personality i8<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 }<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 ; Function Attrs: nounwind uwtable<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
-define internal void @_ZL3barv() #1 {<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+define internal void @_ZL3barv() !dbg !12 {<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
   ret void<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 }<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
@@ -45,3 +45,4 @@ declare i32 @__gxx_personality_v0(...)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 !9 = !DILocation(line: 6, column: 3, scope: !6)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 !10 = !DILocation(line: 8, column: 5, scope: !11)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
 !11 = distinct !DILexicalBlock(scope: !6, file: !1, line: 7, column: 7)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!12 = distinct !DISubprogram(linkageName: "_ZL3barv", scope: !1, line: 20, scopeLine: 20, unit: !0)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
Added: llvm/trunk/test/Transforms/SampleProfile/nodebug.ll<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/nodebug.ll?rev=287710&view=auto" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/SampleProfile/nodebug.ll?rev=287710&view=auto</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
==============================================================================<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
--- llvm/trunk/test/Transforms/SampleProfile/nodebug.ll (added)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+++ llvm/trunk/test/Transforms/SampleProfile/nodebug.ll Tue Nov 22 16:50:01 2016<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
@@ -0,0 +1,20 @@<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+; RUN: opt < %s -sample-profile -sample-profile-file=%S/Inputs/nodebug.prof<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+define void @foo() !dbg !3 {<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+  call void @bar(), !dbg !4<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+  ret void<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+}<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+define void @bar() {<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+  call void @bar()<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+  ret void<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+}<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!<a href="http://llvm.dbg.cu" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">llvm.dbg.cu</a> = !{!0}<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!llvm.module.flags = !{!2}<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!1 = !DIFile(filename: "t", directory: "/tmp/")<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!2 = !{i32 2, !"Debug Info Version", i32 3}<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!3 = distinct !DISubprogram(name: "a", scope: !1, file: !1, line: 10, unit: !0)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
+!4 = !DILocation(line: 10, scope: !3)<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
_______________________________________________<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
llvm-commits mailing list<br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324m_-5187531742590592069m_1066472164475782851gmail_msg m_1933862460038223297m_-4244169107214203122m_2766526758583826303gmail-m_-4321026132943831324gmail_msg m_1933862460038223297m_-4244169107214203122gmail_msg gmail_msg">
</blockquote></div></div></div></div>
</blockquote></div></div></div></blockquote></div></div></div></div>
</blockquote></div></div></div></blockquote></div></div></div></div>
</blockquote></div></div></div></blockquote></div></div>