<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>The LLVM Lexicon</title>
  <link rel="stylesheet" href="llvm.css" type="text/css">
  <meta name="author" content="Various">
  <meta name="description" 
  content="A glossary of terms used with the LLVM project.">
</head>
<body>
<div class="doc_title">The LLVM Lexicon</div>
<p class="doc_warning">NOTE: This document is a work in progress!</p>
<!-- *********************************************************************** -->
<div class="doc_section">Table Of Contents</div>
<!-- *********************************************************************** -->
<div class="doc_text">
  <table>
    <tr><th colspan="8"><b>- <a href="#A">A</a> -</b></th></tr>
    <tr>
      <td><a href="#ADCE">ADCE</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#B">B</a> -</b></th></tr>
    <tr>
      <td><a href="#BURS">BURS</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#C">C</a> -</b></th></tr>
    <tr>
      <td><a href="#CSE">CSE</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#D">D</a> -</b></th></tr>
    <tr>
      <td><a href="#DAG">DAG</a></td>
      <td><a href="#Derived_Pointer">Derived Pointer</a></td>
      <td><a href="#DSA">DSA</a></td>
      <td><a href="#DSE">DSE</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#G">G</a> -</b></th></tr>
      <td><a href="#GC">GC</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#I">I</a> -</b></th></tr>
    <tr>
      <td><a href="#IPA">IPA</a></td>
      <td><a href="#IPO">IPO</a></td>
      <td><a href="#ISel">ISel</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#L">L</a> -</b></th></tr>
    <tr>
      <td><a href="#LCSSA">LCSSA</a></td>
      <td><a href="#LICM">LICM</a></td>
      <td><a href="#Load-VN">Load-VN</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#O">O</a> -</b></th></tr>
    <tr>
      <td><a href="#Object_Pointer">Object Pointer</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#P">P</a> -</b></th></tr>
    <tr>
      <td><a href="#PRE">PRE</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#R">R</a> -</b></th></tr>
    <tr>
      <td><a href="#Reassociation">Reassociation</a></td>
      <td><a href="#Root">Root</a></td>
    </tr>
    <tr><th colspan="8"><b>- <a href="#S">S</a> -</b></th></tr>
    <tr>
      <td><a href="#Safe_Point">Safe Point</a></td>
      <td><a href="#SCC">SCC</a></td>
      <td><a href="#SCCP">SCCP</a></td>
      <td><a href="#SDISel">SDISel</a></td>
      <td><a href="#SRoA">SRoA</a></td>
      <td><a href="#Stack_Map">Stack Map</a></td>
    </tr>
  </table>
</div>

<!-- *********************************************************************** -->
<div class="doc_section">Definitions</div>
<!-- *********************************************************************** -->
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="A">- A -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="ADCE"><b>ADCE</b></a></dt>
    <dd>Aggressive Dead Code Elimination</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="B">- B -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="BURS"><b>BURS</b></a></dt>
    <dd>Bottom Up Rewriting System&mdash;A method of instruction selection for
        code generation.  An example is the <a 
href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="C">- C -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="CSE"><b>CSE</b></a></dt>
    <dd>Common Subexpression Elimination. An optimization that removes common
    subexpression compuation. For example <tt>(a+b)*(a+b)</tt> has two
    subexpressions that are the same: <tt>(a+b)</tt>. This optimization would
    perform the addition only once and then perform the multiply (but only if
    it's compulationally correct/safe).
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="D">- D -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="DAG"><b>DAG</b></a></dt>
    <dd>Directed Acyclic Graph</dd>
    <dt><a name="Derived_Pointer"><b>Derived Pointer</b></a></dt>
    <dd>A pointer to the interior of an object, such that a garbage collector
    is unable to use the pointer for reachability analysis. While a derived
    pointer is live, the corresponding object pointer must be kept in a root,
    otherwise the collector might free the referenced object. With copying
    collectors, derived pointers pose an additional hazard that they may be
    invalidated at any <a href="Safe_Point">safe point</a>. This term is used in
    opposition to <a href="#Object_Pointer">object pointer</a>.</dd>
    <dt><a name="DSA"><b>DSA</b></a></dt>
    <dd>Data Structure Analysis</dd>
    <dt><a name="DSE"><b>DSE</b></a></dt>
    <dd>Dead Store Elimination</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="G">- G -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="GC"><b>GC</b></a></dt>
    <dd>Garbage Collection. The practice of using reachability analysis instead
    of explicit memory management to reclaim unused memory.</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="H">- H -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="Heap"><b>Heap</b></a></dt>
    <dd>In garbage collection, the region of memory which is managed using
    reachability analysis.</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="I">- I -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="IPA"><b>IPA</b></a></dt>
    <dd>Inter-Procedural Analysis. Refers to any variety of code analysis that
    occurs between procedures, functions or compilation units (modules).</dd>
    <dt><a name="IPO"><b>IPO</b></a></dt>
    <dd>Inter-Procedural Optimization. Refers to any variety of code
    optimization that occurs between procedures, functions or compilation units
    (modules).</dd>
    <dt><a name="IPO"><b>ISel</b></a></dt>
    <dd>Instruction Selection.</dd>
  </dl>
</div>
<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="L">- L -</a></div>
<div class="doc_text">
  <dl>
  	<dt><a name="LCSSA"><b>LCSSA</b></a></dt>
  	<dd>Loop-Closed Static Single Assignment Form</dd>
    <dt><a name="LICM"><b>LICM</b></a></dt>
    <dd>Loop Invariant Code Motion</dd>
    <dt><a name="Load-VN"><b>Load-VN</b></a></dt>
    <dd>Load Value Numbering</dd>
  </dl>
</div>

<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="P">- O -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="Object_Pointer"><b>Object Pointer</b></a></dt>
    <dd>A pointer to an object such that the garbage collector is able to trace
    references contained within the object. This term is used in opposition to
    <a href="#Derived_Pointer">derived pointer</a>.</dd>
  </dl>
</div>

<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="P">- P -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="PRE"><b>PRE</b></a></dt>
    <dd>Partial Redundancy Elimination</dd>
  </dl>
</div>

<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="R">- R -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="Reassociation"><b>Reassociation</b></a></dt> <dd>Rearranging
    associative expressions to promote better redundancy elimination and other
    optimization.  For example, changing (A+B-A) into (B+A-A), permitting it to
    be optimized into (B+0) then (B).</dd>
    <dt><a name="Root"><b>Root</b></a></dt> <dd>In garbage collection, a
    pointer variable lying outside of the <a href="#Heap">heap</a> from which
    the collector begins its reachability analysis. In the context of code
    generation, "root" almost always refers to a "stack root"&#151;a local or
    temporary variable within an executing function.</dd>
  </dl>
</div>

<!-- _______________________________________________________________________ -->
<div class="doc_subsection"><a name="S">- S -</a></div>
<div class="doc_text">
  <dl>
    <dt><a name="SCC"><b>Safe Point</b></a></dt>
    <dd>In garbage collection, it is necessary to identify <a href="#Root">stack
    roots</a> so that reachability analysis may proceed. It may be infeasible to
    provide this information for every instruction, so instead the information
    may is calculated only at designated safe points. With a copying collector,
    <a href="#Derived_Pointers">derived pointers</a> must not be retained across
    safe points and <a href="#Object_Pointers">object pointers</a> must be
    reloaded from stack roots.</dd>
    <dt><a name="SDISel"><b>SDISel</b></a></dt>
    <dd>Selection DAG Instruction Selection.</dd>
    <dt><a name="SCC"><b>SCC</b></a></dt>
    <dd>Strongly Connected Component</dd>
    <dt><a name="SCCP"><b>SCCP</b></a></dt>
    <dd>Sparse Conditional Constant Propagation</dd>
    <dt><a name="SRoA"><b>SRoA</b></a></dt>
    <dd>Scalar Replacement of Aggregates</dd>
    <dt><a name="SSA"><b>SSA</b></a></dt>
    <dd>Static Single Assignment</dd>
    <dt><a name="Stack_Map"><b>Stack Map</b></a></dt>
    <dd>In garbage collection, metadata emitted by the code generator which
    identifies <a href="#Root">roots</a> within the stack frame of an executing
    function.</dd>
  </dl>
</div>
<!-- *********************************************************************** -->
<hr>
<address> <a href="http://jigsaw.w3.org/css-validator/check/referer"><img
 src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a><a
 href="http://validator.w3.org/check/referer"><img
 src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a><a
 href="http://llvm.org/">The LLVM Team</a><br>
<a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br>
Last modified: $Date$
</address>
<!-- vim: sw=2
-->
</body>
</html>
