<!--#include virtual="../../header.incl" -->

<div class="www_sectiontitle">EuroLLVM'20 Developers' Meeting</div>
<div style="float:left; width:68%;">
<br>
<div style="width:100%;"> 
<table><tr>
<td valign="top">
<ol>
        <li><a href="llvm.org/devmtg/2020-04/">Conference Home Page</a></li>
</ol>
</td>

<td valign="top">
<ul>
   <li><b>Conference Dates</b>: April 6-7, 2020</li>
   <li><b>Location</b>: Paris, France</li> 
</ul>
</td>
</tr></table>
</div>

<div class="www_sectiontitle" id="guide">Call for Papers - Detailed guidance on writing a proposal for the LLVM Developers’ Meeting</div>

<p>This document is a guide to help you submit the best proposal and increase
your chances of your proposal being accepted. The LLVM Developers’ Meeting
program committee receives more proposals than can be accepted, so please read
this guide carefully.</p>

<p>If you have never presented at an LLVM Developers’ Meeting, then do not fear
this process. We are actively looking for new speakers who are excited about
LLVM and helping grow the community through these educational talks! You do not
need to be a long time developer to submit a proposal.</p>

<p><b>General Guidelines:</b>
<ul>
  <li>It should be clear from your abstract what your topic is, who your
    targeted audience is, and what are the takeaways for attendees. The program
    committee gets a lot of proposals and does not have time to read 10 page
    papers for each submission (excluding SRC submissions).</li>
  <li>Talks about a use of LLVM (etc) should include details about how LLVM is
    used and not only be about the resulting application.</li>
  <li>Tutorials on “how to use X” in LLVM (or other subproject) are greatly
    desired and beneficial to many developers. Entry level topics are
    encouraged as well.</li>
  <li>Talks that have been presented at other technical conferences are less
    likely to get accepted. If you have presented this topic before, make it
    clear what is new and different in your talk.</li>
</ul>
</p>

<p><b>Technical Talk and SRC Talk Proposal Template:</b></p>

<p><i>Title:</i>
<ul>
  <li>This will be displayed on the website, schedule, and signs. Keep it short
    and catchy to attract attendees to your talks. A couple of examples are
    “WebAssembly: Here Be Dragons” or “Beyond Sanitizers: guided fuzzing and
    security hardening”. There is also a field in the submission form for this
    same title.</li>
</ul>
</p>

<p><i>Description:</i>
<ul>
  <li>1-2 paragraphs. You can also use this for the Website Abstract field in the submission form.</li>
  <li>We suggest you proofread and pay attention to grammar.</li>
</ul>
</p>

<p><i>Details:</i>
<ul>
  <li>Here you can include more details about your talk. An outline, demo
    description, background of the speaker, etc. 1-2 paragraphs are usually
    sufficient.</li>
  <li>This section will not be published and is intended for the PC to better
    understand how interesting your talk will be to the audience. For example,
    if you would prefer not to reveal some conclusions in the published
    abstract, explaining them here ensures that the PC can take them into
    account when evaluating your proposal.</li>
</ul>
</p>

<p><i>SRC Paper:</i>
<ul>
  <li>If this is an SRC talk, please attach your paper as well.</li>
</ul>
</p>

<p><b>Panel Talk Proposal Template:</b></p>

<p><i>Title:</i>
<ul>
  <li>This will be displayed on the website, schedule, and signs. These tend to
  be very straight forward about the area being discussed. An example is
  “Future directions and features for LLDB”. There is also a field in the
  submission form for this same title.</li>
</ul>
</p>

<p><i>Description:</i>
<ul>
  <li>1-2 paragraphs. May also be used for the website abstract field in the
    submission form.</li>
  <li>Provide some talking points or potential subtopics.</li>
  <li>We suggest you proofread and pay attention to grammar.</li>
</ul>
</p>

<p><i>Details:</i>
<ul>
  <li>Provide additional details: goals of the panel, and example questions.
    Panels are to brainstorm and discuss ideas on a specific topic between the
    experts on the panel and the audience. You should also include detailed 2-3
    sentence bios for each speaker on the panel. You may or may not include
    speaker names as the submissions are blind.</li>
</ul>
</p>

<p><b>BoF Proposal Template:</b></p>

<p><i>Title:</i>
<ul>
  <li>This will be displayed on the website, schedule, and signs. These tend to
  be very straight forward about the area being discussed. An example is “LLVM
  Numerics improvements”. There is also a field in the submission form for this
  same title.</li>
</ul>
</p>

<p><i>Description:</i>
<ul>
  <li>1-2 paragraphs. May also be used for the website abstract field in the
    submission form.</li>
  <li>Provide some talking points or potential subtopics.</li>
  <li>We suggest you proofread and pay attention to grammar.</li>
</ul>
</p>

<p><i>Details:</i>
<ul>
  <li>Provide additional details: goals of the BoF. An outline of sub-topics
  you wish to present and questions you’d like to raise for debate.</li>
</ul>
</p>
 
<p><b>Tutorial Proposal Template:</b></p>

<p><i>Title:</i>
<ul>
  <li>This will be displayed on the website, schedule, and signs. Keep it short
  and catchy to attract attendees to your talks. There is also a field in the
  submission form for this same title.</li>
</ul>
</p>

<p><i>Description:</i>
<ul>
  <li>1-2 paragraphs. May also be used for the website abstract field in the
    submission form.</li>
  <li>We suggest you proofread and pay attention to grammar.</li>
</ul>
</p>

<p><i>Details:</i>
<ul>
  <li>Include additional details such as tutorial outline, what materials you
    will provide attendees, etc.</li>
  <li>Please consider the advice at <a href="https://www.youtube.com/watch?v=F_q50Th1t3A">
      https://www.youtube.com/watch?v=F_q50Th1t3A</a>
    when proposing and/or designing your tutorial.</li>
</ul>
</p>

</div>

<!-- *********************************************************************** -->

<!--#include virtual="sponsors.incl" -->

<hr>

<!--#include virtual="../../footer.incl" -->
