<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 18, 2016 at 2:28 PM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><span><blockquote type="cite"><div>On Apr 18, 2016, at 2:24 PM, Easwaran Raman <<a href="mailto:eraman@google.com">eraman@google.com</a>> wrote:</div><br><div><div dir="ltr" style="font-family:helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">Thanks for the comments.<br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 18, 2016 at 2:13 PM, Mehdi Amini<span> </span><span dir="ltr"><<a href="mailto:mehdi.amini@apple.com">mehdi.amini@apple.com</a>></span><span> </span>wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>> On Apr 18, 2016, at 2:07 PM, Hal Finkel via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br><span>><br>> ----- Original Message -----<br>>> From: "Easwaran Raman" <<a href="mailto:eraman@google.com">eraman@google.com</a>><br>>> To: "via llvm-dev" <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>>> Cc: "Chandler Carruth" <<a href="mailto:chandlerc@gmail.com">chandlerc@gmail.com</a>>, "Hal Finkel" <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>>, "Philip Reames"<br>>> <<a href="mailto:listmail@philipreames.com">listmail@philipreames.com</a>>, "David Li" <<a href="mailto:davidxl@google.com">davidxl@google.com</a>><br>>> Sent: Monday, April 18, 2016 2:39:49 PM<br>>> Subject: Move InlineCost.cpp out of Analysis?<br>>><br>>><br>>> Hi,<br>>><br>>><br>>> After r256521 - which removes InlineCostAnalysis class - I think<br>>> there is no strong reason for InlineCost.cpp to be part of the<br>>> Analysis library. Is it fine to make it part of TransformUtils?<br>>><br>><br></span>> Given that InlineCost is not really an analysis any longer, I think this is fine.<br><br>Isn't it? It is not a pass, but I see it as an analysis utils.<br></blockquote><div>Yes, I meant that it is not an analysis pass. It does perform analysis. I see one such example of something that performs analysis being added under Transforms/Utils: CmpInstAnalysis.cpp.</div></div></div></div></div></blockquote><div><br></div></span><div>If CmpInstAnalysis.cpp is not mutating the IR, it shouldn't sit here in my opinion.</div><span><div><br></div><br><blockquote type="cite"><div><div dir="ltr" style="font-family:helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span><br>><br>>><br>>> I submitted r266477 (which has now been reverted) that made Analysis<br>>> depend on ProfileData in order to obtain ProfileSummary for the<br>>> module, but there is an existing dependency of ProfileData on<br>>> Analysis (through Object and BitCode).<br><br></span>The real issue is that BitCode depends on Analysis I think.<br></blockquote><div>I think that is due to ThinLTO's use of  getBlockProfileCount.</div></div></div></div></div></blockquote><div><br></div></span><div>Yeah, I know but we should find a way to break this...</div></div></div></blockquote><div><br></div><div>I'm not sure how? With r265941 I moved summary creation out of the BitcodeWriter and into a new analysis pass. However, I realized I needed to keep the dependence on Analysis (r265945) since now the WriteBitcodePass in BitcodeWriter invokes getAnalysis on the ModuleSummaryIndexWrapperPass. How should that dependence be expressed, so that WriteBitcodePass ensures that ModuleSummaryIndexWrapperPass builds the index and that WriteBitcodePass can get access to the index?</div><div><br></div><div>Thanks,</div><div>Teresa</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div><span><div><br></div><div><br></div><br><blockquote type="cite"><div><div dir="ltr" style="font-family:helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">I'm not sure about ProfileData that depends on Bitcode, do you know why?<br></blockquote><div>ProfileData (specifically CoverageMapping{Reader|Writer}) depends on Object which depends on Bitcode.</div></div></div></div></div></blockquote><div><br></div></span><div>Some refactoring or split could help here, this does not seem desirable to me.</div><span><div><br></div><div>-- </div><div>Mehdi</div><blockquote type="cite"><div><div dir="ltr" style="font-family:helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div><div><br></div><div><br><br>>> Moving InlineCost.cpp under<br>>> Transforms/Utils will fix this issue. There are other ways to fix<br>>> this (make Inliner.cpp get the ProfileSummary and pass it to<br>>> InlineCost, for example), but I think it makes sense to move<br>>> InlineCost.<br>>><br>>><br>>> Thoughts?<br>>><br>>><br>>> Thanks,<br>>> Easwaran<br>>><br>>><br>><br></div></div><span><font color="#888888">> --<br>> Hal Finkel<br>> Assistant Computational Scientist<br>> Leadership Computing Facility<br>> Argonne National Laboratory<br>> _______________________________________________<br>> LLVM Developers mailing list<br>><span> </span><a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>><span> </span><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a></font></span></blockquote></div></div></div></div></blockquote></span></div><br></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:times;font-size:medium"><table cellspacing="0" cellpadding="0"><tbody><tr style="color:rgb(85,85,85);font-family:sans-serif;font-size:small"><td nowrap style="border-top-style:solid;border-top-color:rgb(213,15,37);border-top-width:2px">Teresa Johnson |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(51,105,232);border-top-width:2px"> Software Engineer |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(0,153,57);border-top-width:2px"> <a href="mailto:tejohnson@google.com">tejohnson@google.com</a> |</td><td nowrap style="border-top-style:solid;border-top-color:rgb(238,178,17);border-top-width:2px"> <a href="tel:408-460-2413" value="+14084602413">408-460-2413</a></td></tr></tbody></table></span></div>
</div></div>