<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 6, 2014 at 1:32 PM, Diego Novillo <span dir="ltr"><<a href="mailto:dnovillo@google.com" target="_blank">dnovillo@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="">On Thu, Mar 6, 2014 at 4:29 PM, Xinliang David Li <span dir="ltr"><<a href="mailto:xinliangli@gmail.com" target="_blank">xinliangli@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Thu, Mar 6, 2014 at 12:22 PM, Diego Novillo <span dir="ltr"><<a href="mailto:dnovillo@google.com" target="_blank">dnovillo@google.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div class="gmail_quote">On Thu, Mar 6, 2014 at 2:44 PM, Tobias Grosser <span dir="ltr"><<a href="mailto:tobias@grosser.es" target="_blank">tobias@grosser.es</a>></span> wrote:</div>



</div><div class="gmail_quote"><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
as others already pointed out, I committed the first piece of such an infrastructure in LLVM commit 202474 and clang commit 202475. This is<br>
mostly the backend and printing infrastructure.<br></blockquote><div> </div><div><br></div></div><div>Thanks, Tobias.  I've browsed the two patches and I think they're going to be exactly what I need. IIUC, the patches add two new LLVM instructions remark and note. These are inserted in the IL by the passes and the compiler emits them as diagnostic if the right -W flag is enabled?</div>



<div><br></div><div>One question I have from the Clang patch. If I compile with -Weverything, will this enable all warnings *and* remarks? In this context, I only want to enable all remarks.  In fact, I want to enable a family of remarks: the optimization remarks.</div>



<div><br></div><div>There will be other modifiers to these remarks as well:</div><div><br></div><div><ol><li>Report *missed* optimizations, instead of the successful ones.<br></li><li>Increase verbosity of the report. This would be done using note nodes, I expect. But we may want varying degrees of verbosity.</li>



<li>Group families of optimizations. For example, i want to report on all loop-related optimizations.</li><li>IIRC, GCC's -fopt-info will also allow you to collect the reports into a separate text file. Not sure how useful I find this feature myself.</li>


</ol></div></div></div></div></blockquote><div><br></div></div></div><div>Re. 4, to name a few that can be handy sometimes: 1) not contaminate stderr; 2) per TU report; 3) Per opt-group report etc.  </div></div></div></div>

</blockquote><div><br></div></div><div>Ah, thanks.  The stderr and per-tu report thing is handy.  Your #3 seems similar to my #3 (group families of optimizations).</div></div></div></div></blockquote><div><br></div><div>
for 3), I mean you can redirect optimization report in this way:</div><div><br></div><div>$COMPILER  -fopt-info-loop=a.c.loop.report -fopt-info-vect=a.c.vect.report    ... -c a.c</div><div><br></div><div>David</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="HOEnZb"><font color="#888888"><div><br></div><div>Diego.</div></font></span></div></div></div>
</blockquote></div><br></div></div>