<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On Mar 6, 2014, at 11:07 AM, Diego Novillo <<a href="mailto:dnovillo@google.com">dnovillo@google.com</a>> wrote:<br><div><blockquote type="cite"><div dir="ltr"><div>The context of this is performance analysis of generated code. My interest is to trace at a high-level the major decisions done by the various optimizers. For instance, when the inliner decides to inline foo into bar, or the loop unroller decides to unroll a loop N times, or the vectorizer decides to vectorize a loop body.</div></div></blockquote>...</div><div><br><blockquote type="cite"><div dir="ltr"><div>Before I get too far into this, do folks think this is a good idea? I'm open to reasonable requests on how the facility should work, etc.</div></div></blockquote><br></div><div>This is a great idea, and many people would welcome it. Please write up a concrete proposals about how this will work, and we can iterate on that though.</div><div><br></div><div><blockquote type="cite"><div dir="ltr">My intent is to introduce an optimization report option to LLVM which passes will be able to use to indicate the major decisions they make. Initially, I am tempted to mimic GCC's -fopt-info (<a href="http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-fopt-info-747">http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html#index-fopt-info-747</a>).</div></blockquote><div><div dir="ltr"><br></div></div><div dir="ltr">I'm not sure if this is the best design or not (having never used it) - what feedback have you heard from (non-compiler-hacker) people trying to use it?</div></div><br><div>IMO, the hard part of doing something like this is getting the user experience right. It does you no good to say "hey I unrolled a loop" if you don't have enough location information to tell the user *which* loop got unrolled. The key is to give them actionable information, not just the output of -debug :-)</div><div><br></div><div>-Chris</div></body></html>