<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 7, 2017, at 9:25 AM, vivek pandya <<a href="mailto:vivekvpandya@gmail.com" class="">vivekvpandya@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><br class="Apple-interchange-newline"><br style="font-family: Helvetica; font-size: 10px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 10px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Fri, May 5, 2017 at 9:25 PM, Adam Nemet<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:anemet@apple.com" target="_blank" class="">anemet@apple.com</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><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;" class=""><br class=""><div class=""><span class="gmail-"><blockquote type="cite" class=""><div class="">On May 5, 2017, at 8:49 AM, Hal Finkel <<a href="mailto:hfinkel@anl.gov" target="_blank" class="">hfinkel@anl.gov</a>> wrote:</div><br class="gmail-m_6777112034182856035Apple-interchange-newline"><div class=""><div bgcolor="#FFFFFF" class=""><p class=""><br class=""></p><br class=""><div class="gmail-m_6777112034182856035moz-cite-prefix">On 05/05/2017 10:44 AM, vivek pandya via llvm-dev wrote:<br class=""></div><blockquote type="cite" class=""><div dir="ltr" class="">Hello LLVM Devs,<div class=""><br class=""></div><div class="">I have an idea to improve effectiveness of IR dump with -emit-after-all based on Adam Nemet's 2016 LLVM Dev presentation.</div><div class="">I think we can track changes in each function, basic block and instructions by dumping it to YAML files (initially) then track changes done by each pass incrementally as it is done in optimization remark emitter. Once we have required information in YAML files we can present it in much readable way (similar to diff ) through HTML technologies.</div></div></blockquote><br class="">I think this sounds useful.<br class=""><br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">I think we can track chances in each entities by giving them a unique number and that will also map to HTML presentation layer.</div><div class="">However I have not thought if existing ORE framework can be used or not for this purpose.</div></div></blockquote><br class="">I think that we can use ORE for this; I think you'll need some infrastructure improvement so that we can emit the remarks from the pass managers but not pay the cost of serializing the IR unless something is going to use the information.<br class=""></div></div></blockquote><div class=""><br class=""></div></span><div class="">That is a general feature we just have to have for other remarks too that are expensive to construct.  See <a href="https://bugs.llvm.org/show_bug.cgi?id=32352" target="_blank" class="">https://bugs.llvm.org/<wbr class="">show_bug.cgi?id=32352</a>.</div><div class=""><br class=""></div><div class="">Vivek, feel free to grab this if you want to work on it.  I can describe the current situation and we can discuss the design in the PR.</div><div class=""><br class=""></div></div></div></blockquote><div class="">Hi Adam,</div><div class=""><br class=""></div><div class="">I looked into code related to above feature request and perhaps I am not yet clear about this. </div><div class="">I have tried out following things:</div><div class=""><br class=""></div><div class="">1) allowExtraAnalysis function will have a string parameter which is pass name.</div><div class=""><br class=""></div><div class="">2) Find an appropriate entry point in Clang where we can make a shared_ptr for </div><div class="">OptimizationRemarkPattern, OptimizationRemarkAnalysisPattern in LLVMContext class.</div><div class=""><br class=""></div><div class="">3) Use above changes so that allowExtraAnalysis can be used to check if specific</div><div class="">remark is on or not.</div><div class=""><br class=""></div><div class="">However I am confused because there is one more class DiagnosticInfo in LLVM which handles same thing for opt's flags, but why those informations are not used in allowExtraAnalysis() ? Have I understood the purpose of allowExtraAnalysis or not ?</div><div class=""><br class=""></div><div class="">Please guide here.</div></div></div></blockquote><div><br class=""></div><div>Moving the discussion to <a href="https://bugs.llvm.org/show_bug.cgi?id=32352" class="">https://bugs.llvm.org/show_bug.cgi?id=32352</a>.</div><div><br class=""></div><div>Adam</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 10px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><br class=""></div><div class="">Sincerely,</div><div class="">Vivek</div><div class=""> </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;" class=""><div class=""><div class=""></div><div class="">Thanks,</div><div class="">Adam</div><span class="gmail-"><br class=""><blockquote type="cite" class=""><div class=""><div bgcolor="#FFFFFF" class=""><br class=""> -Hal<br class=""><br class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">But if community thinks this is useful then I would like to work on this.</div><div class="">Also suggest if you can find any problem with this approach.</div><div class=""><br class=""></div><div class="">Sincerely,</div><div class="">Vivek</div></div><br class=""><fieldset class="gmail-m_6777112034182856035mimeAttachmentHeader"></fieldset><br class=""><pre class="">______________________________<wbr class="">_________________
LLVM Developers mailing list
<a class="gmail-m_6777112034182856035moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>
<a class="gmail-m_6777112034182856035moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" target="_blank">http://lists.llvm.org/cgi-bin/<wbr class="">mailman/listinfo/llvm-dev</a>
</pre></blockquote><br class=""><pre class="gmail-m_6777112034182856035moz-signature" cols="72">-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre></div></div></blockquote></span></div></div></blockquote></div></div></blockquote></div><br class=""></body></html>