<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 10, 2016 at 11:49 AM, Natanael Ramos <span dir="ltr"><<a href="mailto:naelr8@gmail.com" target="_blank">naelr8@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"><div style="font-family:arial,helvetica,sans-serif">Thank you for the suggestions Sean, I really needed suggestions like that when I was writing the document.<br>When I was writing the document, as it is a product of my bachelor thesis, I was running out of time, so I end up losing myself on how to make the best organization.<br></div></div></blockquote><div><br></div><div>No problem! Often the best way to get the initial content is right when you are in the heat of the project and you have everything floating around in your head. This gives you the raw materials for coming back later at a more relaxed time to revise, reorganize, and get feedback like you've done here.</div><div><br></div><div>Like Hal said, we have a systemic lack of documentation of our backend infrastructure, so this sort of documentation is greatly appreciated. If you have the time to iterate on the document with us a bit, we definitely would like to incorporate it into the official LLVM documentation :)</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif"></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-02-10 3:37 GMT-02:00 Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">caveat: I'm not an expert in register allocation<div>caveat to the caveat: that means that I'm the audience of this document presumably, so the issues I see are probably representative</div><div><br></div><div>I just got around to reading through your document, and the major thing I see is that there is not a clear organization and is missing the "walkthrough" nature of a true HowTo.</div><div><br></div><div>I would recommend splitting the document into two sections: "concepts" and "walkthrough".</div><div>- The "concepts" covers the background needed to understand the walkthrough.</div><div>- The walkthrough is a numbered list of steps. Each step gives specific instructions for what the reader should do next and advice for how to do it (tips, caveats, etc.). This is a careful balance between just saying "paste this code in" and providing high level details/clarifications. In the case of this document, focus on the things that a reader cannot infer from just reading RegAllocBasic. Having a section "How To Start" at the end under "Tips" which just says "go look at RegAllocBasic" is confusing: the whole point of a HowTo is to describe how to start! You may want "copy RegAllocBasic into RegAllocMyAlloc" as step one of the walkthrough though.</div><div><br></div><div>You already have a lot of the content you need, it's just a matter of organizing it into a clear walkthrough style. Organization is actually *hugely* important for documentation: real documentation reading is highly non-linear (for example, looking back at something earlier in the document, or not understanding something and skimming ahead to see if there is something that helps it make sense). If the reader does not have a clear "map" in their head they will have a very hard time. For example, having explicit numbered steps is actually not necessarily about having somebody read them in that order! It is moreso so that the person reading *knows where they are* in the order.</div><span><font color="#888888"><div><br></div><div>-- Sean Silva</div><div><br></div><div><br></div><div><br></div></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Fri, Feb 5, 2016 at 3:50 PM, Natanael Ramos via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">Hello<br><br></div><div style="font-family:arial,helvetica,sans-serif">My name is Natanael Ramos, I'm a  student of bachelor degree on Computer Science Course, here on Brazil.<br><br></div><div style="font-family:arial,helvetica,sans-serif">Recently I have worked with LLVM for my undergraduate thesis (I don't really know how is called in other countries, here is called <span lang="en"><span>Completion of course work</span></span>), in my work I have implemented an register allocator using LLVM and have tested him with the built-in allocators in LLVM (Probably I'll publish a paper soon, if all goes as expected).<br><br></div><div style="font-family:arial,helvetica,sans-serif">As another product of my work, I have created a tutorial of how to write an LLVM register allocator, extending the RegAllocBase interface, this tutorial is based on my understanding of the LLVM framework for working with the register allocation pass.<br><br></div><div style="font-family:arial,helvetica,sans-serif">The tutorial have been written in reStructuredText following the LLVM instructions and orientations (<a href="http://www.llvm.org/docs/SphinxQuickstartTemplate.html" target="_blank">http://www.llvm.org/docs/SphinxQuickstartTemplate.html</a>). As it's suggested, I'm sending the tutorial to this mailing list<span lang="en"><span> in order to</span> <span>contribute to the community</span> <span>of</span> <span>developers,</span> <span>which</span> <span>use</span> <span>LLLVM.<br><br></span></span></div><div style="font-family:arial,helvetica,sans-serif"><span lang="en"><span>Any suggestions, please let me know.<span><font color="#888888"><br></font></span></span></span></div><span><font color="#888888"><div style="font-family:arial,helvetica,sans-serif"><span lang="en"><span></span></span></div><br>-- <br><div>Natanael Ramos <br>Membro do corpo discente de Ciência da Computação pelo Instituto Federal de <br>Minas Gerais - Campus Formiga<br><br></div>
</font></span></div>
<br></div></div><span>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></span></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><br>-- <br><div>Natanael Ramos <br>Membro do corpo discente de Ciência da Computação pelo Instituto Federal de <br>Minas Gerais - Campus Formiga<br><br></div>
</div>
</div></div></blockquote></div><br></div></div>