<div dir="ltr"><div dir="ltr">Disclaimer:  I'm sat a few desks away from James in a related team, although I don't think that we've actually ever discussed this topic at all.</div><div dir="ltr"><br></div><div dir="ltr">> Are people still
     interested in this? If so, what is the typical use case you’d use the
     result of this project for?<br></div><div dir="ltr"><br></div><div>Yes.  We have a test framework that extracts a load of metrics from various large codebases (generally games) built with different toolchain revisions and stores them in a database for analysis and visualization.  For example, we get section sizes from llvm-readelf output via regular expression parsing into json format for database submission.</div><div dir="ltr"><br></div><div dir="ltr">> Why would this be better than the existing
     llvm-readobj output (if applicable)?<br></div><div dir="ltr"><br></div><div>Because it makes me sad to see things like this in my test framework:</div><div>    ^\[\s*(?P<id>\d+)\]\s(?P<section>.+?)\s+(\w+)\s+(\w+)\s+(\w+)\s+(?P<size_hex>\w+)\s.+$<br></div><div>It's far from resilient.</div><div><br></div><div>As a comparison we also get metrics from running "llvm-dwarfdump --statistics" which outputs json so no need for any custom parsing and is quite lovely.</div><div><br></div><div>> Is there a priority for
     a specific format (e.g. ELF, DWARF, COFF)?  <br></div><div><br></div><div>In my case ELF and DWARF are the focus.</div><div><br></div><div>> Would anybody be
     interested in co-mentoring such a project?  <br></div><div><br></div><div>I'm very happy to provide input as a potential consumer of the data.  Whether that extends as far as co-mentoring I don't mind either way.</div><div><br></div><div>-Greg</div><div><br></div><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 10 Jan 2020 at 11:56, James Henderson via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">


















<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Hi all,<span></span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span> </span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">I was giving some thought as to possible project ideas I
could propose for this year’s Google Summer of Code, with regards to the LLVM
Binutils. One idea that I had was something discussed at last year’s Euro LLVM
developer meeting, namely machine-readable output from the LLVM Binutils.
Before I actually start advertising this as an open project, I wanted to ask a
few questions:<span></span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span> </span></p>

<ol style="margin-top:0cm;margin-bottom:0cm" type="1" start="1"><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span>Are people still
     interested in this? If so, what is the typical use case you’d use the
     result of this project for? Why would this be better than the existing
     llvm-readobj output (if applicable)?<span></span></span></li><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span></span><span>Which tool(s) and
     feature(s) would you most want this for? I personally think this should
     just be another output style for llvm-readobj. Does anybody have any
     different opinion there?<span></span></span><span></span>





<span><span></span></span></li><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span>Is there any additional
     tooling in relation to this project that you think would be important to
     be a part of this project, e.g. a lit function to query the output?<span></span></span></li><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span></span><span>How might this interact
     with obj2yaml? Could the new output ultimately be used to replace it?<span></span></span><span></span>





<span><span></span></span></li><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span>Is there a priority for
     a specific format (e.g. ELF, DWARF, COFF)?<span></span></span></li><li style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span>Would anybody be
     interested in co-mentoring such a project?<span></span></span></li></ol>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span> </span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Thanks in advance for the comments!<span></span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><span> </span></p>

<p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">James<span></span></p>





</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div></div>