<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Helvetica Neue";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">The break-down of “User Guides”, “Programming Documentation”, and “Subsystem Documentation” has always been difficult for me to remember which group the document
I’m looking for is actually in.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I’d propose a breakdown that looks more like this:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"># How to build/package/dockerize/etc. LLVM (it’s surprising how many pages we have on this!)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"># How to use LLVM tools. This is the “I’m using LLVM solely from the command-line, what do I do?” section.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"># The LLVM Reference – this would include the Language Reference as well as backend-specific pages that describe how target-specific information works for those
targets (honestly, we could use more of that), the details of atomics and exception handling, etc. This is the “I’m writing/reading LLVM IR, what do I do?” section.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"># The LLVM API Reference – this covers the links to Doxygen, description on the AliasAnalysis interface, etc. This is the “I’m using LLVM as a library (or to
write a pass, or a backend, or within LLVM itself), what do I do?” section, and it probably warrants a few subsections (e.g., details for backend implementation).<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></a></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">The rest of the documents are hard to categorize, being a mix of documentation of formats (say the .PDB documentation guide), description of LLVM passes, details
of implementation approaches (e.g., Spectre mitigations), and some information for people who want to understand terminology.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><a name="_____replyseparator"></a><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> llvm-dev [mailto:llvm-dev-bounces@lists.llvm.org]
<b>On Behalf Of </b>via llvm-dev<br>
<b>Sent:</b> Thursday, August 22, 2019 14:14<br>
<b>To:</b> llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Subject:</b> [llvm-dev] Docs: Re-organizing the LLVM docs<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p style="margin:0in;margin-bottom:.0001pt"><span style="font-family:"Helvetica Neue",serif;color:#454545">As part of my Google Season of Docs project, I’ve been conducting a content audit of the LLVM docs. My goal is to identify specific categories and tasks
under which the docs can be re-organized. One of my first suggestions will be to turn the main index (</span><a href="http://llvm.org/docs"><span style="font-family:"Helvetica Neue",serif;color:#E4AF0A">llvm.org/docs</span></a><span style="font-family:"Helvetica Neue",serif;color:#454545">)
into a landing page of sorts. Here’s an example of how the new index page might look:<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545"># Welcome/About<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Introduction and overview of LLVM<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Topic links<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545"># Getting Started/Tutorials<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Brief description w/topic links<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545"># Reference<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Brief description w/topic links<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545"># Getting Involved/Community<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Overview of how to get involved with the LLVM project<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">* Topic links<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">Due to the sheer number of topics, there would also need to be “sub-pages”. For example, there could be a separate Reference page
that lists all of the available reference topics by category.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">One thing I’m having trouble with is determining how to split up (i.e., categorize) the many topics listed under User Guides, Programming
Documentation, and Subsystem Documentation. Some topics are easier to categorize than others, such as topics specific to getting started, troubleshooting, logging bugs, etc. But other topics are harder to categorize. Should they be broken up based on where
they fall within the LLVM toolchain? For example, a category for topics specific to the Optimizer.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal;min-height:14px"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">Given that you’re all more familiar with the LLVM project than I am, I’d be curious to get your thoughts/suggestions as to how you
might split up the docs to make it easier for new and existing users to locate the information they need.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545"><o:p> </o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">Thanks,<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;font-stretch:normal"><span style="font-family:"Helvetica Neue",serif;color:#454545">DeForest<o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>