aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2011-04-18 23:59:50 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2011-04-18 23:59:50 +0000
commit05d0265fef651de152c8127aa701e689555649f3 (patch)
tree32c85c006413daaf59823dcc14a17e8ddee26ad5 /docs
parent1f48a95ccbff731a8bcf4890204e5eef09eb99d1 (diff)
downloadexternal_llvm-05d0265fef651de152c8127aa701e689555649f3.zip
external_llvm-05d0265fef651de152c8127aa701e689555649f3.tar.gz
external_llvm-05d0265fef651de152c8127aa701e689555649f3.tar.bz2
docs: Use <Hn> as Heading elements instead of <DIV class="doc_foo">.
H1 ... doc_title H2 ... doc_section H3 ... doc_subsection H4 ... doc_subsubsection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/AliasAnalysis.html172
-rw-r--r--docs/BitCodeFormat.html222
-rw-r--r--docs/Bugpoint.html32
-rw-r--r--docs/CMake.html52
-rw-r--r--docs/CodeGenerator.html303
-rw-r--r--docs/CodingStandards.html161
-rw-r--r--docs/CommandGuide/index.html20
-rw-r--r--docs/CommandLine.html152
-rw-r--r--docs/CompilerWriterInfo.html40
-rw-r--r--docs/DebuggingJITedCode.html6
-rw-r--r--docs/DeveloperPolicy.html39
-rw-r--r--docs/ExceptionHandling.html92
-rw-r--r--docs/ExtendingLLVM.html32
-rw-r--r--docs/FAQ.html28
-rw-r--r--docs/GCCFEBuildInstrs.html4
-rw-r--r--docs/GarbageCollection.html84
-rw-r--r--docs/GetElementPtr.html167
-rw-r--r--docs/GettingStarted.html153
-rw-r--r--docs/GettingStartedVS.html34
-rw-r--r--docs/GoldPlugin.html20
-rw-r--r--docs/HowToReleaseLLVM.html55
-rw-r--r--docs/HowToSubmitABug.html32
-rw-r--r--docs/LangRef.html837
-rw-r--r--docs/Lexicon.html32
-rw-r--r--docs/LinkTimeOptimization.html52
-rw-r--r--docs/MakefileGuide.html82
-rw-r--r--docs/Packaging.html12
-rw-r--r--docs/Passes.html484
-rw-r--r--docs/ProgrammersManual.html480
-rw-r--r--docs/Projects.html44
-rw-r--r--docs/SourceLevelDebugging.html160
-rw-r--r--docs/SystemLibrary.html43
-rw-r--r--docs/TableGenFundamentals.html60
-rw-r--r--docs/TestingGuide.html87
-rw-r--r--docs/UsingLibraries.html22
-rw-r--r--docs/WritingAnLLVMBackend.html112
-rw-r--r--docs/WritingAnLLVMPass.html282
-rw-r--r--docs/index.html12
-rw-r--r--docs/tutorial/LangImpl1.html8
-rw-r--r--docs/tutorial/LangImpl2.html22
-rw-r--r--docs/tutorial/LangImpl3.html15
-rw-r--r--docs/tutorial/LangImpl4.html14
-rw-r--r--docs/tutorial/LangImpl5.html39
-rw-r--r--docs/tutorial/LangImpl6.html14
-rw-r--r--docs/tutorial/LangImpl7.html21
-rw-r--r--docs/tutorial/LangImpl8.html24
-rw-r--r--docs/tutorial/OCamlLangImpl1.html8
-rw-r--r--docs/tutorial/OCamlLangImpl2.html22
-rw-r--r--docs/tutorial/OCamlLangImpl3.html15
-rw-r--r--docs/tutorial/OCamlLangImpl4.html14
-rw-r--r--docs/tutorial/OCamlLangImpl5.html39
-rw-r--r--docs/tutorial/OCamlLangImpl6.html14
-rw-r--r--docs/tutorial/OCamlLangImpl7.html21
-rw-r--r--docs/tutorial/OCamlLangImpl8.html24
-rw-r--r--docs/tutorial/index.html2
55 files changed, 2577 insertions, 2440 deletions
diff --git a/docs/AliasAnalysis.html b/docs/AliasAnalysis.html
index c1603be..bed3ace 100644
--- a/docs/AliasAnalysis.html
+++ b/docs/AliasAnalysis.html
@@ -7,9 +7,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM Alias Analysis Infrastructure
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
@@ -59,9 +59,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -96,9 +96,9 @@ know</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="overview"><tt>AliasAnalysis</tt> Class Overview</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -125,9 +125,9 @@ same function.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="pointers">Representation of Pointers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -181,9 +181,9 @@ that the accesses alias.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="alias">The <tt>alias</tt> method</a>
-</div>
+</h3>
<div class="doc_text">
<p>The <tt>alias</tt> method is the primary interface used to determine whether
@@ -197,9 +197,9 @@ least one of the values is a <a href="LangRef.html#constants">constant</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="MustMayNo">Must, May, and No Alias Responses</a>
-</div>
+</h4>
<div class="doc_text">
<p>The NoAlias response may be used when there is never an immediate dependence
@@ -228,9 +228,9 @@ implies that the pointers compare equal.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ModRefInfo">The <tt>getModRefInfo</tt> methods</a>
-</div>
+</h3>
<div class="doc_text">
@@ -250,9 +250,9 @@ memory written to by CS2. Note that this relation is not commutative.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="OtherItfs">Other useful <tt>AliasAnalysis</tt> methods</a>
-</div>
+</h3>
<div class="doc_text">
@@ -264,9 +264,9 @@ analysis implementations and can be put to good use by various clients.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
The <tt>pointsToConstantMemory</tt> method
-</div>
+</h4>
<div class="doc_text">
@@ -279,10 +279,10 @@ memory location to be modified.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="simplemodref">The <tt>doesNotAccessMemory</tt> and
<tt>onlyReadsMemory</tt> methods</a>
-</div>
+</h4>
<div class="doc_text">
@@ -308,9 +308,9 @@ functions that satisfy the <tt>doesNotAccessMemory</tt> method also satisfies
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="writingnew">Writing a new <tt>AliasAnalysis</tt> Implementation</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -324,9 +324,9 @@ implementations</a> included with LLVM.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="passsubclasses">Different Pass styles</a>
-</div>
+</h3>
<div class="doc_text">
@@ -352,9 +352,9 @@ solve:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="requiredcalls">Required initialization calls</a>
-</div>
+</h3>
<div class="doc_text">
@@ -393,9 +393,9 @@ bool run(Module &amp;M) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="interfaces">Interfaces which may be specified</a>
-</div>
+</h3>
<div class="doc_text">
@@ -412,9 +412,9 @@ implementing, you just override the interfaces you can improve.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="chaining"><tt>AliasAnalysis</tt> chaining behavior</a>
-</div>
+</h3>
<div class="doc_text">
@@ -451,9 +451,9 @@ updated.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="updating">Updating analysis results for transformations</a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -474,7 +474,7 @@ sure to call these interfaces appropriately.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">The <tt>deleteValue</tt> method</div>
+<h4>The <tt>deleteValue</tt> method</h4>
<div class="doc_text">
The <tt>deleteValue</tt> method is called by transformations when they remove an
@@ -485,7 +485,7 @@ any entries for the specified value, if they exist.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">The <tt>copyValue</tt> method</div>
+<h4>The <tt>copyValue</tt> method</h4>
<div class="doc_text">
The <tt>copyValue</tt> method is used when a new value is introduced into the
@@ -496,7 +496,7 @@ new value has exactly the same properties as the value being copied.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">The <tt>replaceWithNewValue</tt> method</div>
+<h4>The <tt>replaceWithNewValue</tt> method</h4>
<div class="doc_text">
This method is a simple helper method that is provided to make clients easier to
@@ -506,7 +506,7 @@ analysis implementations.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">The <tt>addEscapingUse</tt> method</div>
+<h4>The <tt>addEscapingUse</tt> method</h4>
<div class="doc_text">
<p>The <tt>addEscapingUse</tt> method is used when the uses of a pointer
@@ -528,9 +528,9 @@ uses below:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="implefficiency">Efficiency Issues</a>
-</div>
+</h3>
<div class="doc_text">
@@ -544,9 +544,9 @@ method as possible (within reason).</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="limitations">Limitations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -617,9 +617,9 @@ from itself.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="using">Using alias analysis results</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -630,9 +630,9 @@ preference, these are...</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="memdep">Using the <tt>MemoryDependenceAnalysis</tt> Pass</a>
-</div>
+</h3>
<div class="doc_text">
@@ -645,9 +645,9 @@ efficient, and is used by Dead Store Elimination, GVN, and memcpy optimizations.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ast">Using the <tt>AliasSetTracker</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -681,9 +681,9 @@ pointer argument is loop-invariant.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
The AliasSetTracker implementation
-</div>
+</h4>
<div class="doc_text">
@@ -707,9 +707,9 @@ are.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="direct">Using the <tt>AliasAnalysis</tt> interface directly</a>
-</div>
+</h3>
<div class="doc_text">
@@ -722,9 +722,9 @@ best precision and efficiency.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="exist">Existing alias analysis implementations and clients</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -738,9 +738,9 @@ for monitoring and evaluating different implementations.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="impls">Available <tt>AliasAnalysis</tt> implementations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -752,9 +752,9 @@ href="#chaining">chain</a> to other alias analysis implementations.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="no-aa">The <tt>-no-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -766,9 +766,9 @@ problem.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="basic-aa">The <tt>-basicaa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -794,9 +794,9 @@ many important facts:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="globalsmodref">The <tt>-globalsmodref-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -818,9 +818,9 @@ non-address taken globals), but is very quick analysis.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="steens-aa">The <tt>-steens-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -841,9 +841,9 @@ module, it is not part of the LLVM core.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ds-aa">The <tt>-ds-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -864,9 +864,9 @@ module, it is not part of the LLVM core.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scev-aa">The <tt>-scev-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -878,9 +878,9 @@ and loop induction variables than other alias analyses have.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="aliasanalysis-xforms">Alias analysis driven transformations</a>
-</div>
+</h3>
<div class="doc_text">
LLVM includes several alias-analysis driven transformations which can be used
@@ -888,9 +888,9 @@ with any of the implementations above.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="adce">The <tt>-adce</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -902,9 +902,9 @@ not have side-effects and are not used.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="licm">The <tt>-licm</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -927,9 +927,9 @@ no may aliases to the loaded/stored memory location.</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="argpromotion">The <tt>-argpromotion</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -942,10 +942,10 @@ pointer.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="gvn">The <tt>-gvn</tt>, <tt>-memcpyopt</tt>, and <tt>-dse</tt>
passes</a>
-</div>
+</h4>
<div class="doc_text">
@@ -955,10 +955,10 @@ pointer.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="aliasanalysis-debug">Clients for debugging and evaluation of
implementations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -969,9 +969,9 @@ implementations. You can use them with commands like '<tt>opt -ds-aa
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="print-alias-sets">The <tt>-print-alias-sets</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -990,9 +990,9 @@ the <tt>AliasSetTracker</tt> class. To use it, use something like:</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="count-aa">The <tt>-count-aa</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1014,9 +1014,9 @@ when debugging a transformation or an alias analysis implementation.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="aa-eval">The <tt>-aa-eval</tt> pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1029,9 +1029,9 @@ algorithm will have a lower number of may aliases).</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="memdep">Memory Dependence Analysis</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/BitCodeFormat.html b/docs/BitCodeFormat.html
index 36d31c9..396904a 100644
--- a/docs/BitCodeFormat.html
+++ b/docs/BitCodeFormat.html
@@ -7,7 +7,7 @@
<link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>
-<div class="doc_title"> LLVM Bitcode File Format </div>
+<h1> LLVM Bitcode File Format</h1>
<ol>
<li><a href="#abstract">Abstract</a></li>
<li><a href="#overview">Overview</a></li>
@@ -47,7 +47,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="abstract">Abstract</a></div>
+<h2><a name="abstract">Abstract</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -58,7 +58,7 @@ the LLVM IR into it.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="overview">Overview</a></div>
+<h2><a name="overview">Overview</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -88,7 +88,7 @@ wrapper format, then describes the record structure used by LLVM IR files.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="bitstream">Bitstream Format</a></div>
+<h2><a name="bitstream">Bitstream Format</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -117,8 +117,9 @@ understanding the encoding.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="magic">Magic Numbers</a>
-</div>
+<h3>
+ <a name="magic">Magic Numbers</a>
+</h3>
<div class="doc_text">
@@ -130,8 +131,9 @@ bitcode, while application-specific programs will want to look at all four.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="primitives">Primitives</a>
-</div>
+<h3>
+ <a name="primitives">Primitives</a>
+</h3>
<div class="doc_text">
@@ -147,8 +149,9 @@ Integers</a>.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="fixedwidth">Fixed Width Integers</a>
-</div>
+<h4>
+ <a name="fixedwidth">Fixed Width Integers</a>
+</h4>
<div class="doc_text">
@@ -161,8 +164,9 @@ Integers</a>.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="variablewidth">Variable Width
-Integers</a></div>
+<h4>
+ <a name="variablewidth">Variable Width Integers</a>
+</h4>
<div class="doc_text">
@@ -182,7 +186,7 @@ value of 24 (011 << 3) with no continuation. The sum (3+24) yields the value
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="char6">6-bit characters</a></div>
+<h4><a name="char6">6-bit characters</a></h4>
<div class="doc_text">
@@ -206,7 +210,7 @@ characters not in the set.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="wordalign">Word Alignment</a></div>
+<h4><a name="wordalign">Word Alignment</a></h4>
<div class="doc_text">
@@ -218,8 +222,9 @@ represented as a multiple of 32-bit words.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="abbrevid">Abbreviation IDs</a>
-</div>
+<h3>
+ <a name="abbrevid">Abbreviation IDs</a>
+</h3>
<div class="doc_text">
@@ -253,8 +258,9 @@ an <a href="#abbrev_records">abbreviated record encoding</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="blocks">Blocks</a>
-</div>
+<h3>
+ <a name="blocks">Blocks</a>
+</h3>
<div class="doc_text">
@@ -300,8 +306,7 @@ popped, the saved values are restored.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="ENTER_SUBBLOCK">ENTER_SUBBLOCK
-Encoding</a></div>
+<h4><a name="ENTER_SUBBLOCK">ENTER_SUBBLOCK Encoding</a></h4>
<div class="doc_text">
@@ -322,8 +327,7 @@ reader to skip over the entire block in one jump.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="END_BLOCK">END_BLOCK
-Encoding</a></div>
+<h4><a name="END_BLOCK">END_BLOCK Encoding</a></h4>
<div class="doc_text">
@@ -340,8 +344,9 @@ an even multiple of 32-bits.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="datarecord">Data Records</a>
-</div>
+<h3>
+ <a name="datarecord">Data Records</a>
+</h3>
<div class="doc_text">
<p>
@@ -358,8 +363,7 @@ ASCII codes for the characters in the string.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="UNABBREV_RECORD">UNABBREV_RECORD
-Encoding</a></div>
+<h4><a name="UNABBREV_RECORD">UNABBREV_RECORD Encoding</a></h4>
<div class="doc_text">
@@ -385,8 +389,7 @@ bits. This is not an efficient encoding, but it is fully general.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="abbrev_records">Abbreviated Record
-Encoding</a></div>
+<h4><a name="abbrev_records">Abbreviated Record Encoding</a></h4>
<div class="doc_text">
@@ -410,8 +413,9 @@ operand value).</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="abbreviations">Abbreviations</a>
-</div>
+<h3>
+ <a name="abbreviations">Abbreviations</a>
+</h3>
<div class="doc_text">
<p>
@@ -434,8 +438,7 @@ operators, the abbreviation does not need to be emitted.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="DEFINE_ABBREV">DEFINE_ABBREV
- Encoding</a></div>
+<h4><a name="DEFINE_ABBREV">DEFINE_ABBREV Encoding</a></h4>
<div class="doc_text">
@@ -553,8 +556,9 @@ used for any other string value.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="stdblocks">Standard Blocks</a>
-</div>
+<h3>
+ <a name="stdblocks">Standard Blocks</a>
+</h3>
<div class="doc_text">
@@ -568,8 +572,7 @@ may be added. Block IDs 0-7 are reserved for standard blocks.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="BLOCKINFO">#0 - BLOCKINFO
-Block</a></div>
+<h4><a name="BLOCKINFO">#0 - BLOCKINFO Block</a></h4>
<div class="doc_text">
@@ -621,7 +624,7 @@ from the corresponding blocks. It is not safe to skip them.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="wrapper">Bitcode Wrapper Format</a></div>
+<h2><a name="wrapper">Bitcode Wrapper Format</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -652,7 +655,7 @@ value that can be used to encode the CPU of the target.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="llvmir">LLVM IR Encoding</a></div>
+<h2><a name="llvmir">LLVM IR Encoding</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -669,11 +672,12 @@ reader is not allowed to build in any knowledge of this.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="basics">Basics</a>
-</div>
+<h3>
+ <a name="basics">Basics</a>
+</h3>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="ir_magic">LLVM IR Magic Number</a></div>
+<h4><a name="ir_magic">LLVM IR Magic Number</a></h4>
<div class="doc_text">
@@ -695,7 +699,7 @@ When combined with the bitcode magic number and viewed as bytes, this is
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="ir_signed_vbr">Signed VBRs</a></div>
+<h4><a name="ir_signed_vbr">Signed VBRs</a></h4>
<div class="doc_text">
@@ -728,7 +732,7 @@ within <tt>CONSTANTS_BLOCK</tt> blocks.
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="ir_blocks">LLVM IR Blocks</a></div>
+<h4><a name="ir_blocks">LLVM IR Blocks</a></h4>
<div class="doc_text">
@@ -759,8 +763,9 @@ LLVM IR is defined with the following blocks:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="MODULE_BLOCK">MODULE_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="MODULE_BLOCK">MODULE_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -785,8 +790,7 @@ following sub-blocks:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_VERSION">MODULE_CODE_VERSION Record</a>
-</div>
+<h4><a name="MODULE_CODE_VERSION">MODULE_CODE_VERSION Record</a></h4>
<div class="doc_text">
@@ -798,8 +802,7 @@ time.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_TRIPLE">MODULE_CODE_TRIPLE Record</a>
-</div>
+<h4><a name="MODULE_CODE_TRIPLE">MODULE_CODE_TRIPLE Record</a></h4>
<div class="doc_text">
<p><tt>[TRIPLE, ...string...]</tt></p>
@@ -810,8 +813,7 @@ specification string.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_DATALAYOUT">MODULE_CODE_DATALAYOUT Record</a>
-</div>
+<h4><a name="MODULE_CODE_DATALAYOUT">MODULE_CODE_DATALAYOUT Record</a></h4>
<div class="doc_text">
<p><tt>[DATALAYOUT, ...string...]</tt></p>
@@ -822,8 +824,7 @@ specification string.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_ASM">MODULE_CODE_ASM Record</a>
-</div>
+<h4><a name="MODULE_CODE_ASM">MODULE_CODE_ASM Record</a></h4>
<div class="doc_text">
<p><tt>[ASM, ...string...]</tt></p>
@@ -834,8 +835,7 @@ individual assembly blocks separated by newline (ASCII 10) characters.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_SECTIONNAME">MODULE_CODE_SECTIONNAME Record</a>
-</div>
+<h4><a name="MODULE_CODE_SECTIONNAME">MODULE_CODE_SECTIONNAME Record</a></h4>
<div class="doc_text">
<p><tt>[SECTIONNAME, ...string...]</tt></p>
@@ -850,8 +850,7 @@ referenced by the 1-based index in the <i>section</i> fields of
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_DEPLIB">MODULE_CODE_DEPLIB Record</a>
-</div>
+<h4><a name="MODULE_CODE_DEPLIB">MODULE_CODE_DEPLIB Record</a></h4>
<div class="doc_text">
<p><tt>[DEPLIB, ...string...]</tt></p>
@@ -864,8 +863,7 @@ library name referenced.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_GLOBALVAR">MODULE_CODE_GLOBALVAR Record</a>
-</div>
+<h4><a name="MODULE_CODE_GLOBALVAR">MODULE_CODE_GLOBALVAR Record</a></h4>
<div class="doc_text">
<p><tt>[GLOBALVAR, pointer type, isconst, initid, linkage, alignment, section, visibility, threadlocal]</tt></p>
@@ -929,8 +927,7 @@ has <tt>unnamed_addr</tt></li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_FUNCTION">MODULE_CODE_FUNCTION Record</a>
-</div>
+<h4><a name="MODULE_CODE_FUNCTION">MODULE_CODE_FUNCTION Record</a></h4>
<div class="doc_text">
@@ -986,8 +983,7 @@ has <tt>unnamed_addr</tt></li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_ALIAS">MODULE_CODE_ALIAS Record</a>
-</div>
+<h4><a name="MODULE_CODE_ALIAS">MODULE_CODE_ALIAS Record</a></h4>
<div class="doc_text">
@@ -1011,8 +1007,7 @@ for this alias</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_PURGEVALS">MODULE_CODE_PURGEVALS Record</a>
-</div>
+<h4><a name="MODULE_CODE_PURGEVALS">MODULE_CODE_PURGEVALS Record</a></h4>
<div class="doc_text">
<p><tt>[PURGEVALS, numvals]</tt></p>
@@ -1025,8 +1020,7 @@ new value indices will start from the given <i>numvals</i> value.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="MODULE_CODE_GCNAME">MODULE_CODE_GCNAME Record</a>
-</div>
+<h4><a name="MODULE_CODE_GCNAME">MODULE_CODE_GCNAME Record</a></h4>
<div class="doc_text">
<p><tt>[GCNAME, ...string...]</tt></p>
@@ -1040,8 +1034,9 @@ fields of <tt>FUNCTION</tt> records.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="PARAMATTR_BLOCK">PARAMATTR_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="PARAMATTR_BLOCK">PARAMATTR_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1061,8 +1056,7 @@ attribute lists). </p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="PARAMATTR_CODE_ENTRY">PARAMATTR_CODE_ENTRY Record</a>
-</div>
+<h4><a name="PARAMATTR_CODE_ENTRY">PARAMATTR_CODE_ENTRY Record</a></h4>
<div class="doc_text">
@@ -1106,8 +1100,9 @@ the logarithm base 2 of the requested alignment, plus 1</li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="TYPE_BLOCK">TYPE_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="TYPE_BLOCK">TYPE_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1127,8 +1122,7 @@ equivalent types). </p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_NUMENTRY">TYPE_CODE_NUMENTRY Record</a>
-</div>
+<h4><a name="TYPE_CODE_NUMENTRY">TYPE_CODE_NUMENTRY Record</a></h4>
<div class="doc_text">
@@ -1142,8 +1136,7 @@ in the block.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_VOID">TYPE_CODE_VOID Record</a>
-</div>
+<h4><a name="TYPE_CODE_VOID">TYPE_CODE_VOID Record</a></h4>
<div class="doc_text">
@@ -1155,8 +1148,7 @@ type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_FLOAT">TYPE_CODE_FLOAT Record</a>
-</div>
+<h4><a name="TYPE_CODE_FLOAT">TYPE_CODE_FLOAT Record</a></h4>
<div class="doc_text">
@@ -1168,8 +1160,7 @@ floating point) type to the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_DOUBLE">TYPE_CODE_DOUBLE Record</a>
-</div>
+<h4><a name="TYPE_CODE_DOUBLE">TYPE_CODE_DOUBLE Record</a></h4>
<div class="doc_text">
@@ -1181,8 +1172,7 @@ floating point) type to the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_LABEL">TYPE_CODE_LABEL Record</a>
-</div>
+<h4><a name="TYPE_CODE_LABEL">TYPE_CODE_LABEL Record</a></h4>
<div class="doc_text">
@@ -1194,8 +1184,7 @@ the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_OPAQUE">TYPE_CODE_OPAQUE Record</a>
-</div>
+<h4><a name="TYPE_CODE_OPAQUE">TYPE_CODE_OPAQUE Record</a></h4>
<div class="doc_text">
@@ -1208,8 +1197,7 @@ unified.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_INTEGER">TYPE_CODE_INTEGER Record</a>
-</div>
+<h4><a name="TYPE_CODE_INTEGER">TYPE_CODE_INTEGER Record</a></h4>
<div class="doc_text">
@@ -1222,8 +1210,7 @@ integer type.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_POINTER">TYPE_CODE_POINTER Record</a>
-</div>
+<h4><a name="TYPE_CODE_POINTER">TYPE_CODE_POINTER Record</a></h4>
<div class="doc_text">
@@ -1243,8 +1230,7 @@ default address space is zero.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_FUNCTION">TYPE_CODE_FUNCTION Record</a>
-</div>
+<h4><a name="TYPE_CODE_FUNCTION">TYPE_CODE_FUNCTION Record</a></h4>
<div class="doc_text">
@@ -1268,8 +1254,7 @@ parameter types of the function</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_STRUCT">TYPE_CODE_STRUCT Record</a>
-</div>
+<h4><a name="TYPE_CODE_STRUCT">TYPE_CODE_STRUCT Record</a></h4>
<div class="doc_text">
@@ -1287,8 +1272,7 @@ types of the structure</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_ARRAY">TYPE_CODE_ARRAY Record</a>
-</div>
+<h4><a name="TYPE_CODE_ARRAY">TYPE_CODE_ARRAY Record</a></h4>
<div class="doc_text">
@@ -1305,8 +1289,7 @@ table. The operand fields are</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_VECTOR">TYPE_CODE_VECTOR Record</a>
-</div>
+<h4><a name="TYPE_CODE_VECTOR">TYPE_CODE_VECTOR Record</a></h4>
<div class="doc_text">
@@ -1323,8 +1306,7 @@ table. The operand fields are</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_X86_FP80">TYPE_CODE_X86_FP80 Record</a>
-</div>
+<h4><a name="TYPE_CODE_X86_FP80">TYPE_CODE_X86_FP80 Record</a></h4>
<div class="doc_text">
@@ -1336,8 +1318,7 @@ floating point) type to the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_FP128">TYPE_CODE_FP128 Record</a>
-</div>
+<h4><a name="TYPE_CODE_FP128">TYPE_CODE_FP128 Record</a></h4>
<div class="doc_text">
@@ -1349,8 +1330,7 @@ floating point) type to the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_PPC_FP128">TYPE_CODE_PPC_FP128 Record</a>
-</div>
+<h4><a name="TYPE_CODE_PPC_FP128">TYPE_CODE_PPC_FP128 Record</a></h4>
<div class="doc_text">
@@ -1362,8 +1342,7 @@ floating point) type to the type table.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TYPE_CODE_METADATA">TYPE_CODE_METADATA Record</a>
-</div>
+<h4><a name="TYPE_CODE_METADATA">TYPE_CODE_METADATA Record</a></h4>
<div class="doc_text">
@@ -1375,8 +1354,9 @@ type to the type table.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="CONSTANTS_BLOCK">CONSTANTS_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="CONSTANTS_BLOCK">CONSTANTS_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1387,8 +1367,9 @@ type to the type table.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="FUNCTION_BLOCK">FUNCTION_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="FUNCTION_BLOCK">FUNCTION_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1409,8 +1390,9 @@ type to the type table.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="TYPE_SYMTAB_BLOCK">TYPE_SYMTAB_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="TYPE_SYMTAB_BLOCK">TYPE_SYMTAB_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1422,8 +1404,7 @@ indices.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="TST_CODE_ENTRY">TST_CODE_ENTRY Record</a>
-</div>
+<h4><a name="TST_CODE_ENTRY">TST_CODE_ENTRY Record</a></h4>
<div class="doc_text">
@@ -1438,8 +1419,9 @@ name. Each entry corresponds to a single named type.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="VALUE_SYMTAB_BLOCK">VALUE_SYMTAB_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="VALUE_SYMTAB_BLOCK">VALUE_SYMTAB_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1450,8 +1432,9 @@ name. Each entry corresponds to a single named type.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="METADATA_BLOCK">METADATA_BLOCK Contents</a>
-</div>
+<h3>
+ <a name="METADATA_BLOCK">METADATA_BLOCK Contents</a>
+</h3>
<div class="doc_text">
@@ -1462,8 +1445,9 @@ name. Each entry corresponds to a single named type.
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="METADATA_ATTACHMENT">METADATA_ATTACHMENT Contents</a>
-</div>
+<h3>
+ <a name="METADATA_ATTACHMENT">METADATA_ATTACHMENT Contents</a>
+</h3>
<div class="doc_text">
diff --git a/docs/Bugpoint.html b/docs/Bugpoint.html
index 6bbc9b7..5568fc7 100644
--- a/docs/Bugpoint.html
+++ b/docs/Bugpoint.html
@@ -6,9 +6,9 @@
<link rel="stylesheet" href="llvm.css" type="text/css">
</head>
-<div class="doc_title">
+<h1>
LLVM bugpoint tool: design and usage
-</div>
+</h1>
<ul>
<li><a href="#desc">Description</a></li>
@@ -27,9 +27,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="desc">Description</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -50,9 +50,9 @@ href="HowToSubmitABug.html">How To Submit a Bug Report document</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="design">Design Philosophy</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -71,9 +71,9 @@ executing it) takes a long time.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="autoselect">Automatic Debugger Selection</a>
-</div>
+</h3>
<div class="doc_text">
@@ -104,9 +104,9 @@ Otherwise, there is no problem <tt>bugpoint</tt> can debug.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="crashdebug">Crash debugger</a>
-</div>
+</h3>
<div class="doc_text">
@@ -129,9 +129,9 @@ reproduce the failure with <tt>opt</tt> or <tt>llc</tt>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="codegendebug">Code generator debugger</a>
-</div>
+</h3>
<div class="doc_text">
@@ -150,9 +150,9 @@ good code.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="miscompilationdebug">Miscompilation debugger</a>
-</div>
+</h3>
<div class="doc_text">
@@ -167,9 +167,9 @@ assumes that the selected code generator is working properly.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="advice">Advice for using bugpoint</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/CMake.html b/docs/CMake.html
index 73e6f44..8ea4377 100644
--- a/docs/CMake.html
+++ b/docs/CMake.html
@@ -6,9 +6,9 @@
<link rel="stylesheet" href="llvm.css" type="text/css">
</head>
-<div class="doc_title">
+<h1>
Building LLVM with CMake
-</div>
+</h1>
<ul>
<li><a href="#intro">Introduction</a></li>
@@ -36,9 +36,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="intro">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -59,9 +59,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="quickstart">Quick start</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -112,9 +112,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="usage">Basic CMake usage</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -160,9 +160,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="options">Options and variables</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -197,9 +197,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="freccmake">Frequently-used CMake variables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -240,9 +240,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="llvmvars">LLVM-specific variables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -358,9 +358,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="testing">Executing the test suite</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -378,9 +378,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="cross">Cross compiling</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -399,9 +399,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="embedding">Embedding LLVM in your project</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -462,9 +462,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="passdev">Developing LLVM pass out of source</a>
-</div>
+</h3>
<div class="doc_text">
@@ -519,9 +519,9 @@
<!-- *********************************************************************** -->
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="specifics">Compiler/Platform specific topics</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -530,9 +530,9 @@
</div>
-<div class="doc_subsection">
+<h3>
<a name="msvc">Microsoft Visual C++</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/CodeGenerator.html b/docs/CodeGenerator.html
index 5ca40af..50036f2 100644
--- a/docs/CodeGenerator.html
+++ b/docs/CodeGenerator.html
@@ -19,9 +19,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
The LLVM Target-Independent Code Generator
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a>
@@ -127,9 +127,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -191,9 +191,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="required">Required components in the code generator</a>
-</div>
+</h3>
<div class="doc_text">
@@ -223,9 +223,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="high-level-design">The high-level design of the code generator</a>
-</div>
+</h3>
<div class="doc_text">
@@ -297,9 +297,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="tablegen">Using TableGen for target description</a>
-</div>
+</h3>
<div class="doc_text">
@@ -325,9 +325,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="targetdesc">Target description classes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -349,9 +349,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetmachine">The <tt>TargetMachine</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -369,9 +369,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetdata">The <tt>TargetData</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -385,9 +385,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetlowering">The <tt>TargetLowering</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -411,9 +411,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetregisterinfo">The <tt>TargetRegisterInfo</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -445,9 +445,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetinstrinfo">The <tt>TargetInstrInfo</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -463,9 +463,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetframeinfo">The <tt>TargetFrameInfo</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -479,9 +479,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetsubtarget">The <tt>TargetSubtarget</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -495,9 +495,9 @@
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetjitinfo">The <tt>TargetJITInfo</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -510,9 +510,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="codegendesc">Machine code description classes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -531,9 +531,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="machineinstr">The <tt>MachineInstr</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -579,9 +579,9 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="buildmi">Using the <tt>MachineInstrBuilder.h</tt> functions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -630,9 +630,9 @@ MI.addReg(Reg, RegState::Define);
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="fixedregs">Fixed (preassigned) registers</a>
-</div>
+</h4>
<div class="doc_text">
@@ -702,9 +702,9 @@ ret
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ssa">Machine code in SSA form</a>
-</div>
+</h4>
<div class="doc_text">
@@ -720,9 +720,9 @@ ret
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="machinebasicblock">The <tt>MachineBasicBlock</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -737,9 +737,9 @@ ret
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="machinefunction">The <tt>MachineFunction</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -756,9 +756,9 @@ ret
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="mc">The "MC" Layer</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -783,9 +783,9 @@ in this manual.
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mcstreamer">The <tt>MCStreamer</tt> API</a>
-</div>
+</h3>
<div class="doc_text">
@@ -817,9 +817,9 @@ MCObjectStreamer implements a full assembler.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mccontext">The <tt>MCContext</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -832,9 +832,9 @@ interact with to create symbols and sections. This class can not be subclassed.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mcsymbol">The <tt>MCSymbol</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -864,9 +864,9 @@ like this to the .s file:<p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mcsection">The <tt>MCSection</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -882,9 +882,9 @@ directive in a .s file).
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mcinst">The <tt>MCInst</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -906,9 +906,9 @@ printer, and the type generated by the assembly parser and disassembler.
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="codegenalgs">Target-independent code generation algorithms</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -920,9 +920,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="instselect">Instruction Selection</a>
-</div>
+</h3>
<div class="doc_text">
@@ -939,9 +939,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_intro">Introduction to SelectionDAGs</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1001,9 +1001,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_process">SelectionDAG Instruction Selection Process</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1082,9 +1082,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_build">Initial SelectionDAG Construction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1102,9 +1102,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_legalize_types">SelectionDAG LegalizeTypes Phase</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1135,9 +1135,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_legalize">SelectionDAG Legalize Phase</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1167,10 +1167,11 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="selectiondag_optimize">SelectionDAG Optimization Phase: the DAG
- Combiner</a>
-</div>
+<h4>
+ <a name="selectiondag_optimize">
+ SelectionDAG Optimization Phase: the DAG Combiner
+ </a>
+</h4>
<div class="doc_text">
@@ -1202,9 +1203,9 @@ printer, and the type generated by the assembly parser and disassembler.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_select">SelectionDAG Select Phase</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1363,9 +1364,9 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_sched">SelectionDAG Scheduling and Formation Phase</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1384,9 +1385,9 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="selectiondag_future">Future directions for the SelectionDAG</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1399,15 +1400,15 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ssamco">SSA-based Machine Code Optimizations</a>
-</div>
+</h3>
<div class="doc_text"><p>To Be Written</p></div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="liveintervals">Live Intervals</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1420,9 +1421,9 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="livevariable_analysis">Live Variable Analysis</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1466,9 +1467,9 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="liveintervals_analysis">Live Intervals Analysis</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1486,9 +1487,9 @@ def : Pat&lt;(i32 imm:$imm),
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="regalloc">Register Allocation</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1504,9 +1505,9 @@ def : Pat&lt;(i32 imm:$imm),
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_represent">How registers are represented in LLVM</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1617,9 +1618,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &amp;mf,
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_howTo">Mapping virtual registers to physical registers</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1667,9 +1668,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &amp;mf,
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_twoAddr">Handling two address instructions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1703,9 +1704,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &amp;mf,
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_ssaDecon">The SSA deconstruction phase</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1727,9 +1728,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &amp;mf,
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_fold">Instruction folding</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1764,9 +1765,9 @@ bool RegMapping_Fer::compatible_class(MachineFunction &amp;mf,
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="regAlloc_builtIn">Built in register allocators</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1806,20 +1807,20 @@ $ llc -regalloc=pbqp file.bc -o pbqp.s;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="proepicode">Prolog/Epilog Code Insertion</a>
-</div>
+</h3>
<div class="doc_text"><p>To Be Written</p></div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="latemco">Late Machine Code Optimizations</a>
-</div>
+</h3>
<div class="doc_text"><p>To Be Written</p></div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="codeemit">Code Emission</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1882,9 +1883,9 @@ to implement an assembler for your target.</p>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="nativeassembler">Implementing a Native Assembler</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1899,15 +1900,15 @@ compiler.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection" id="na_instparsing">Instruction Parsing</div>
+<h3 id="na_instparsing">Instruction Parsing</h3>
<div class="doc_text"><p>To Be Written</p></div>
<!-- ======================================================================= -->
-<div class="doc_subsection" id="na_instaliases">
+<h3 id="na_instaliases">
Instruction Alias Processing
-</div>
+</h3>
<div class="doc_text">
<p>Once the instruction is parsed, it enters the MatchInstructionImpl function.
@@ -1925,7 +1926,7 @@ description.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Mnemonic Aliases</div>
+<h4>Mnemonic Aliases</h4>
<div class="doc_text">
@@ -1965,7 +1966,7 @@ on the current instruction set.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Instruction Aliases</div>
+<h4>Instruction Aliases</h4>
<div class="doc_text">
@@ -2031,7 +2032,7 @@ subtarget specific.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection" id="na_matching">Instruction Matching</div>
+<h3 id="na_matching">Instruction Matching</h3>
<div class="doc_text"><p>To Be Written</p></div>
@@ -2039,9 +2040,9 @@ subtarget specific.</p>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="targetimpls">Target-specific Implementation Notes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2053,9 +2054,9 @@ subtarget specific.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetfeatures">Target Feature Matrix</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2231,7 +2232,7 @@ is the key:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_reliable">Is Generally Reliable</div>
+<h4 id="feat_reliable">Is Generally Reliable</h4>
<div class="doc_text">
<p>This box indicates whether the target is considered to be production quality.
@@ -2241,7 +2242,7 @@ continuous use.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_asmparser">Assembly Parser</div>
+<h4 id="feat_asmparser">Assembly Parser</h4>
<div class="doc_text">
<p>This box indicates whether the target supports parsing target specific .s
@@ -2253,7 +2254,7 @@ support in the native .o file writer.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_disassembler">Disassembler</div>
+<h4 id="feat_disassembler">Disassembler</h4>
<div class="doc_text">
<p>This box indicates whether the target supports the MCDisassembler API for
@@ -2262,7 +2263,7 @@ disassembling machine opcode bytes into MCInst's.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_inlineasm">Inline Asm</div>
+<h4 id="feat_inlineasm">Inline Asm</h4>
<div class="doc_text">
<p>This box indicates whether the target supports most popular inline assembly
@@ -2274,7 +2275,7 @@ constraints relating to the X86 floating point stack.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_jit">JIT Support</div>
+<h4 id="feat_jit">JIT Support</h4>
<div class="doc_text">
<p>This box indicates whether the target supports the JIT compiler through
@@ -2286,7 +2287,7 @@ in ARM codegen mode, but lacks NEON and full Thumb support.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_objectwrite">.o File Writing</div>
+<h4 id="feat_objectwrite">.o File Writing</h4>
<div class="doc_text">
@@ -2302,7 +2303,7 @@ file to a .o file (as is the case for many C compilers).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection" id="feat_tailcall">Tail Calls</div>
+<h4 id="feat_tailcall">Tail Calls</h4>
<div class="doc_text">
@@ -2317,9 +2318,9 @@ more more details</a>.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="tailcallopt">Tail call optimization</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2383,9 +2384,9 @@ define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="sibcallopt">Sibling call optimization</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2427,9 +2428,9 @@ entry:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="x86">The X86 backend</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2440,9 +2441,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="x86_tt">X86 Target Triples supported</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2469,9 +2470,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="x86_cc">X86 Calling Conventions supported</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2489,9 +2490,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="x86_memory">Representing X86 addressing modes in MachineInstrs</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2526,9 +2527,9 @@ OperandTy: VirtReg, | VirtReg, UnsImm, VirtReg, SignExtImm PhysReg
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="x86_memory">X86 address spaces supported</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2571,9 +2572,9 @@ OperandTy: VirtReg, | VirtReg, UnsImm, VirtReg, SignExtImm PhysReg
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="x86_names">Instruction naming</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2592,9 +2593,9 @@ MOVSX32rm16 -&gt; movsx, 32-bit register, 16-bit memory
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ppc">The PowerPC backend</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2605,9 +2606,9 @@ MOVSX32rm16 -&gt; movsx, 32-bit register, 16-bit memory
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ppc_abi">LLVM PowerPC ABI</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2625,9 +2626,9 @@ MOVSX32rm16 -&gt; movsx, 32-bit register, 16-bit memory
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ppc_frame">Frame Layout</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2772,9 +2773,9 @@ MOVSX32rm16 -&gt; movsx, 32-bit register, 16-bit memory
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ppc_prolog">Prolog/Epilog</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2789,9 +2790,9 @@ MOVSX32rm16 -&gt; movsx, 32-bit register, 16-bit memory
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ppc_dynamic">Dynamic Allocation</a>
-</div>
+</h4>
<div class="doc_text">
diff --git a/docs/CodingStandards.html b/docs/CodingStandards.html
index 11655e0..ca31cab 100644
--- a/docs/CodingStandards.html
+++ b/docs/CodingStandards.html
@@ -7,9 +7,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM Coding Standards
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
@@ -83,9 +83,9 @@
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -117,20 +117,20 @@ href="mailto:sabre@nondot.org">Chris</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="mechanicalissues">Mechanical Source Issues</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="sourceformating">Source Code Formatting</a>
-</div>
+</h3>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_commenting">Commenting</a>
-</div>
+</h4>
<div class="doc_text">
@@ -208,9 +208,9 @@ happens: does the method return null? Abort? Format your hard disk?</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_commentformat">Comment Formatting</a>
-</div>
+</h4>
<div class="doc_text">
@@ -233,9 +233,9 @@ These nest properly and are better behaved in general than C style comments.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_includes"><tt>#include</tt> Style</a>
-</div>
+</h4>
<div class="doc_text">
@@ -273,9 +273,9 @@ implements are defined.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_codewidth">Source Code Width</a>
-</div>
+</h4>
<div class="doc_text">
@@ -298,9 +298,9 @@ for debate.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_spacestabs">Use Spaces Instead of Tabs</a>
-</div>
+</h4>
<div class="doc_text">
@@ -319,9 +319,9 @@ makes for incredible diffs that are absolutely worthless.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="scf_indentation">Indent Code Consistently</a>
-</div>
+</h4>
<div class="doc_text">
@@ -333,15 +333,15 @@ Just do it.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="compilerissues">Compiler Issues</a>
-</div>
+</h3>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ci_warningerrors">Treat Compiler Warnings Like Errors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -393,9 +393,9 @@ be fixed by massaging the code appropriately.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ci_portable_code">Write Portable Code</a>
-</div>
+</h4>
<div class="doc_text">
@@ -412,9 +412,9 @@ libSystem.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ci_rtti_exceptions">Do not use RTTI or Exceptions</a>
-</div>
+</h4>
<div class="doc_text">
<p>In an effort to reduce code and executable size, LLVM does not use RTTI
@@ -433,9 +433,9 @@ than <tt>dynamic_cast&lt;&gt;</tt>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ci_class_struct">Use of <tt>class</tt> and <tt>struct</tt> Keywords</a>
-</div>
+</h4>
<div class="doc_text">
<p>In C++, the <tt>class</tt> and <tt>struct</tt> keywords can be used almost
@@ -455,23 +455,23 @@ which case <tt>struct</tt> is allowed.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="styleissues">Style Issues</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="macro">The High-Level Issues</a>
-</div>
+</h3>
<!-- ======================================================================= -->
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_module">A Public Header File <b>is</b> a Module</a>
-</div>
+</h4>
<div class="doc_text">
@@ -499,9 +499,9 @@ translation unit.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_dontinclude"><tt>#include</tt> as Little as Possible</a>
-</div>
+</h4>
<div class="doc_text">
@@ -528,9 +528,9 @@ dependencies that you'll find out about later.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_privateheaders">Keep "Internal" Headers Private</a>
-</div>
+</h4>
<div class="doc_text">
@@ -549,9 +549,9 @@ class itself. Just make them private (or protected) and all is well.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_earlyexit">Use Early Exits and <tt>continue</tt> to Simplify Code</a>
-</div>
+</h4>
<div class="doc_text">
@@ -658,9 +658,9 @@ can be a big understandability win.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_else_after_return">Don't use <tt>else</tt> after a <tt>return</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -741,9 +741,9 @@ track of when reading the code.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hl_predicateloops">Turn Predicate Loops into Predicate Functions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -804,16 +804,18 @@ locality.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="micro">The Low-Level Issues</a>
-</div>
+</h3>
<!-- ======================================================================= -->
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="ll_naming">Name Types, Functions, Variables, and Enumerators Properly</a>
-</div>
+<h4>
+ <a name="ll_naming">
+ Name Types, Functions, Variables, and Enumerators Properly
+ </a>
+</h4>
<div class="doc_text">
@@ -894,9 +896,9 @@ Vehicle MakeVehicle(VehicleType Type) {
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_assert">Assert Liberally</a>
-</div>
+</h4>
<div class="doc_text">
@@ -997,9 +999,9 @@ assert(NewToSet &amp;&amp; "The value shouldn't be in the set yet");
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_ns_std">Do Not Use '<tt>using namespace std</tt>'</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1035,10 +1037,11 @@ use any others.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="ll_virtual_anch">Provide a Virtual Method Anchor for Classes
- in Headers</a>
-</div>
+<h4>
+ <a name="ll_virtual_anch">
+ Provide a Virtual Method Anchor for Classes in Headers
+ </a>
+</h4>
<div class="doc_text">
@@ -1052,9 +1055,9 @@ increasing link times.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_end">Don't evaluate <tt>end()</tt> every time through a loop</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1114,9 +1117,9 @@ prefer it.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_iostream"><tt>#include &lt;iostream&gt;</tt> is Forbidden</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1149,9 +1152,9 @@ the <tt>llvm::MemoryBuffer</tt> API for reading files.</b></p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_raw_ostream">Use <tt>raw_ostream</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1169,9 +1172,9 @@ declarations and constant references to <tt>raw_ostream</tt> instances.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ll_avoidendl">Avoid <tt>std::endl</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1193,18 +1196,18 @@ it's better to use a literal <tt>'\n'</tt>.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="nano">Microscopic Details</a>
-</div>
+</h3>
<!-- ======================================================================= -->
<p>This section describes preferred low-level formatting guidelines along with
reasoning on why we prefer them.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="micro_spaceparen">Spaces Before Parentheses</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1260,9 +1263,9 @@ this misinterpretation.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="micro_preincrement">Prefer Preincrement</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1280,9 +1283,9 @@ get in the habit of always using preincrement, and you won't have a problem.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="micro_namespaceindent">Namespace Indentation</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1368,9 +1371,9 @@ the contents of the namespace.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="micro_anonns">Anonymous Namespaces</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1455,9 +1458,9 @@ namespace just because it was declared there.
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="seealso">See Also</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/CommandGuide/index.html b/docs/CommandGuide/index.html
index 4ab1b51..98e97ee 100644
--- a/docs/CommandGuide/index.html
+++ b/docs/CommandGuide/index.html
@@ -7,9 +7,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM Command Guide
-</div>
+</h1>
<div class="doc_text">
@@ -23,9 +23,9 @@ options) arguments to the tool you are interested in.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="basic">Basic Commands</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -80,9 +80,9 @@ options) arguments to the tool you are interested in.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="frontend">C and C++ Front-end Commands</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -99,9 +99,9 @@ options) arguments to the tool you are interested in.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="debug">Debugging Tools</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
@@ -123,9 +123,9 @@ options) arguments to the tool you are interested in.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="internal">Internal Tools</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/CommandLine.html b/docs/CommandLine.html
index 83b2ebb..0bcd382 100644
--- a/docs/CommandLine.html
+++ b/docs/CommandLine.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
CommandLine 2.0 Library Manual
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
@@ -100,9 +100,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -184,9 +184,9 @@ href="mailto:sabre@nondot.org">Chris Lattner</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="quickstart">Quick Start Guide</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -324,9 +324,9 @@ OPTIONS:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="bool">Boolean Arguments</a>
-</div>
+</h3>
<div class="doc_text">
@@ -406,9 +406,9 @@ and <a href="#list">lists</a> of options.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="alias">Argument Aliases</a>
-</div>
+</h3>
<div class="doc_text">
@@ -456,10 +456,10 @@ uses.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="onealternative">Selecting an alternative from a set of
possibilities</a>
-</div>
+</h3>
<div class="doc_text">
@@ -567,9 +567,9 @@ which is when you would use it.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="namedalternatives">Named Alternatives</a>
-</div>
+</h3>
<div class="doc_text">
@@ -629,9 +629,9 @@ that you can choose the form most appropriate for your application.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="list">Parsing a list of options</a>
-</div>
+</h3>
<div class="doc_text">
@@ -699,9 +699,9 @@ checking we have to do.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="bits">Collecting options as a set of flags</a>
-</div>
+</h3>
<div class="doc_text">
@@ -758,9 +758,9 @@ href="#list"> <tt>cl::list</tt></a> option.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="description">Adding freeform text to help output</a>
-</div>
+</h3>
<div class="doc_text">
@@ -802,9 +802,9 @@ OPTIONS:
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="referenceguide">Reference Guide</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -817,9 +817,9 @@ processing capabilities.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="positional">Positional Arguments</a>
-</div>
+</h3>
<div class="doc_text">
@@ -858,9 +858,9 @@ define all of your positional arguments in one .cpp file.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="--">Specifying positional options with hyphens</a>
-</div>
+</h4>
<div class="doc_text">
@@ -895,9 +895,9 @@ can use it like this:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="getPosition">Determining absolute position with getPosition()</a>
-</div>
+</h4>
<div class="doc_text">
<p>Sometimes an option can affect or modify the meaning of another option. For
example, consider <tt>gcc</tt>'s <tt>-x LANG</tt> option. This tells
@@ -954,9 +954,9 @@ can use it like this:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::ConsumeAfter">The <tt>cl::ConsumeAfter</tt> modifier</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1007,9 +1007,9 @@ href="#cl::list">cl::list</a> option.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="storage">Internal vs External Storage</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1076,9 +1076,9 @@ that <tt>DebugFlag</tt> is automatically set.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="attributes">Option Attributes</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1166,9 +1166,9 @@ obviously).</li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="modifiers">Option Modifiers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1199,9 +1199,9 @@ usually shouldn't have to worry about these.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="hiding">Hiding an option from <tt>-help</tt> output</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1230,10 +1230,10 @@ indicates that the option should not appear in any help output.</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="numoccurrences">Controlling the number of occurrences required and
allowed</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1279,9 +1279,9 @@ retained.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="valrequired">Controlling whether or not a value must be specified</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1328,9 +1328,9 @@ when <a href="#extensionguide">extending the library</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="formatting">Controlling other formatting options</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1409,9 +1409,9 @@ strategy basically looks like this:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="misc">Miscellaneous option modifiers</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1453,9 +1453,9 @@ only makes sense with a <a href="#cl::list">cl::list</a> option.</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="response">Response files</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1476,9 +1476,9 @@ and
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="toplevel">Top-Level Classes and Functions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1493,10 +1493,10 @@ classes in detail.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::ParseCommandLineOptions">The <tt>cl::ParseCommandLineOptions</tt>
function</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1514,10 +1514,10 @@ which holds <a href="#description">additional extra text</a> to emit when the
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::ParseEnvironmentOptions">The <tt>cl::ParseEnvironmentOptions</tt>
function</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1551,10 +1551,10 @@ input.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::SetVersionPrinter">The <tt>cl::SetVersionPrinter</tt>
function</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1572,9 +1572,9 @@ called when the <tt>--version</tt> option is given by the user.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::opt">The <tt>cl::opt</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1607,9 +1607,9 @@ href="#customparser">custom parser</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::list">The <tt>cl::list</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1634,9 +1634,9 @@ be used.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::bits">The <tt>cl::bits</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1659,9 +1659,9 @@ must be of <b>type</b> <tt>unsigned</tt> if external storage is used.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::alias">The <tt>cl::alias</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1682,9 +1682,9 @@ the conversion from string to data.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="cl::extrahelp">The <tt>cl::extrahelp</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1710,9 +1710,9 @@ single <tt>cl::extrahelp</tt> instance.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="builtinparsers">Builtin parsers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1774,9 +1774,9 @@ exponential notation (ex: <tt>1.7e15</tt>) and properly supports locales.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="extensionguide">Extension Guide</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1789,9 +1789,9 @@ the covers and illustrates how to do some simple, common, extensions.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="customparser">Writing a custom parser</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1932,9 +1932,9 @@ tutorial.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="explotingexternal">Exploiting external storage</a>
-</div>
+</h3>
<div class="doc_text">
<p>Several of the LLVM libraries define static <tt>cl::opt</tt> instances that
@@ -1951,9 +1951,9 @@ tutorial.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="dynamicopts">Dynamically adding command line options</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/CompilerWriterInfo.html b/docs/CompilerWriterInfo.html
index daee931..6be1b63 100644
--- a/docs/CompilerWriterInfo.html
+++ b/docs/CompilerWriterInfo.html
@@ -9,9 +9,9 @@
<body>
-<div class="doc_title">
+<h1>
Architecture/platform information for compiler writers
-</div>
+</h1>
<div class="doc_warning">
<p>Note: This document is a work-in-progress. Additions and clarifications
@@ -43,11 +43,11 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="hw">Hardware</a></div>
+<h2><a name="hw">Hardware</a></h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="alpha">Alpha</a></div>
+<h3><a name="alpha">Alpha</a></h3>
<div class="doc_text">
<ul>
@@ -58,7 +58,7 @@ href="http://ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-libra
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="arm">ARM</a></div>
+<h3><a name="arm">ARM</a></h3>
<div class="doc_text">
<ul>
@@ -70,7 +70,7 @@ Cores</a>)</li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="ia64">Itanium (ia64)</a></div>
+<h3><a name="ia64">Itanium (ia64)</a></h3>
<div class="doc_text">
<ul>
@@ -81,7 +81,7 @@ href="http://developer.intel.com/design/itanium2/documentation.htm">Itanium docu
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="mips">MIPS</a></div>
+<h3><a name="mips">MIPS</a></h3>
<div class="doc_text">
<ul>
@@ -92,10 +92,10 @@ Processor Architecture</a></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="ppc">PowerPC</a></div>
+<h3><a name="ppc">PowerPC</a></h3>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">IBM - Official manuals and docs</div>
+<h4>IBM - Official manuals and docs</h4>
<div class="doc_text">
@@ -129,7 +129,7 @@ PowerPC architecture</a></li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Other documents, collections, notes</div>
+<h4>Other documents, collections, notes</h4>
<div class="doc_text">
@@ -144,7 +144,7 @@ branch stubs for powerpc64-linux (from binutils)</a></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="sparc">SPARC</a></div>
+<h3><a name="sparc">SPARC</a></h3>
<div class="doc_text">
@@ -156,10 +156,10 @@ branch stubs for powerpc64-linux (from binutils)</a></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="x86">X86</a></div>
+<h3><a name="x86">X86</a></h3>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">AMD - Official manuals and docs</div>
+<h4>AMD - Official manuals and docs</h4>
<div class="doc_text">
<ul>
@@ -170,7 +170,7 @@ href="http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739,00.ht
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Intel - Official manuals and docs</div>
+<h4>Intel - Official manuals and docs</h4>
<div class="doc_text">
<ul>
@@ -184,7 +184,7 @@ Itanium documentation</a></li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Other x86-specific information</div>
+<h4>Other x86-specific information</h4>
<div class="doc_text">
<ul>
@@ -194,7 +194,7 @@ conventions for different C++ compilers and operating systems</a></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="other">Other relevant lists</a></div>
+<h3><a name="other">Other relevant lists</a></h3>
<div class="doc_text">
@@ -205,11 +205,11 @@ conventions for different C++ compilers and operating systems</a></li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="abi">ABI</a></div>
+<h2><a name="abi">ABI</a></h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="linux">Linux</a></div>
+<h3><a name="linux">Linux</a></h3>
<div class="doc_text">
<ol>
@@ -219,7 +219,7 @@ Supplement</a></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="osx">OS X</a></div>
+<h3><a name="osx">OS X</a></h3>
<div class="doc_text">
<ol>
@@ -233,7 +233,7 @@ ABI</a></li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="misc">Miscellaneous resources</a></div>
+<h2><a name="misc">Miscellaneous resources</a></h2>
<!-- *********************************************************************** -->
<ul>
diff --git a/docs/DebuggingJITedCode.html b/docs/DebuggingJITedCode.html
index 5b174d7..f23fdf6 100644
--- a/docs/DebuggingJITedCode.html
+++ b/docs/DebuggingJITedCode.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">Debugging JITed Code With GDB</div>
+<h1>Debugging JITed Code With GDB</h1>
<ol>
<li><a href="#example">Example usage</a></li>
<li><a href="#background">Background</a></li>
@@ -15,7 +15,7 @@
<div class="doc_author">Written by Reid Kleckner</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="example">Example usage</a></div>
+<h2><a name="example">Example usage</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -96,7 +96,7 @@ function names.
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="background">Background</a></div>
+<h2><a name="background">Background</a></h2>
<!--=========================================================================-->
<div class="doc_text">
diff --git a/docs/DeveloperPolicy.html b/docs/DeveloperPolicy.html
index 633de1a..5d6c2d8 100644
--- a/docs/DeveloperPolicy.html
+++ b/docs/DeveloperPolicy.html
@@ -8,7 +8,7 @@
</head>
<body>
-<div class="doc_title">LLVM Developer Policy</div>
+<h1>LLVM Developer Policy</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#policies">Developer Policies</a>
@@ -34,7 +34,7 @@
<div class="doc_author">Written by the LLVM Oversight Team</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>This document contains the LLVM Developer Policy which defines the project's
@@ -63,7 +63,7 @@
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="policies">Developer Policies</a></div>
+<h2><a name="policies">Developer Policies</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>This section contains policies that pertain to frequent LLVM developers. We
@@ -75,7 +75,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="informed">Stay Informed</a> </div>
+<h3><a name="informed">Stay Informed</a></h3>
<div class="doc_text">
<p>Developers should stay informed by reading at least the "dev" mailing list
for the projects you are interested in, such as
@@ -102,7 +102,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="patches">Making a Patch</a></div>
+<h3><a name="patches">Making a Patch</a></h3>
<div class="doc_text">
<p>When making a patch for review, the goal is to make it as easy for the
@@ -142,7 +142,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="reviews">Code Reviews</a></div>
+<h3><a name="reviews">Code Reviews</a></h3>
<div class="doc_text">
<p>LLVM has a code review policy. Code review is one way to increase the quality
of software. We generally follow these policies:</p>
@@ -174,7 +174,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="owners">Code Owners</a></div>
+<h3><a name="owners">Code Owners</a></h3>
<div class="doc_text">
<p>The LLVM Project relies on two features of its process to maintain rapid
@@ -225,7 +225,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="testcases">Test Cases</a></div>
+<h3><a name="testcases">Test Cases</a></h3>
<div class="doc_text">
<p>Developers are required to create test cases for any bugs fixed and any new
features added. Some tips for getting your testcase approved:</p>
@@ -258,7 +258,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="quality">Quality</a></div>
+<h3><a name="quality">Quality</a></h3>
<div class="doc_text">
<p>The minimum quality standards that any change must satisfy before being
committed to the main development branch are:</p>
@@ -318,8 +318,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
- <a name="commitaccess">Obtaining Commit Access</a></div>
+<h3><a name="commitaccess">Obtaining Commit Access</a></h3>
<div class="doc_text">
<p>We grant commit access to contributors with a track record of submitting high
@@ -381,7 +380,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="newwork">Making a Major Change</a></div>
+<h3><a name="newwork">Making a Major Change</a></h3>
<div class="doc_text">
<p>When a developer begins a major new project with the aim of contributing it
back to LLVM, s/he should inform the community with an email to
@@ -410,8 +409,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"> <a name="incremental">Incremental Development</a>
-</div>
+<h3><a name="incremental">Incremental Development</a></h3>
<div class="doc_text">
<p>In the LLVM project, we do all significant changes as a series of incremental
patches. We have a strong dislike for huge changes or long-term development
@@ -472,8 +470,7 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="attribution">Attribution of
-Changes</a></div>
+<h3><a name="attribution">Attribution of Changes</a></h3>
<div class="doc_text">
<p>We believe in correct attribution of contributions to their contributors.
However, we do not want the source code to be littered with random
@@ -487,9 +484,9 @@ Changes</a></div>
</div>
<!--=========================================================================-->
-<div class="doc_section">
+<h2>
<a name="clp">Copyright, License, and Patents</a>
-</div>
+</h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -507,7 +504,7 @@ Changes</a></div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="copyright">Copyright</a></div>
+<h3><a name="copyright">Copyright</a></h3>
<div class="doc_text">
<p>The LLVM project does not require copyright assignments, which means that the
@@ -530,7 +527,7 @@ Changes</a></div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="license">License</a></div>
+<h3><a name="license">License</a></h3>
<div class="doc_text">
<p>We intend to keep LLVM perpetually open source and to use a liberal open
source license. All of the code in LLVM is available under the
@@ -585,7 +582,7 @@ Changes</a></div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="patents">Patents</a></div>
+<h3><a name="patents">Patents</a></h3>
<div class="doc_text">
<p>To the best of our knowledge, LLVM does not infringe on any patents (we have
actually removed code from LLVM in the past that was found to infringe).
diff --git a/docs/ExceptionHandling.html b/docs/ExceptionHandling.html
index 1738bdf..09e0946 100644
--- a/docs/ExceptionHandling.html
+++ b/docs/ExceptionHandling.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Exception Handling in LLVM</div>
+<h1>Exception Handling in LLVM</h1>
<table class="layout" style="width:100%">
<tr class="layout">
@@ -58,7 +58,7 @@
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -73,9 +73,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="itanium">Itanium ABI Zero-cost Exception Handling</a>
-</div>
+</h3>
<div class="doc_text">
@@ -106,9 +106,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="sjlj">Setjmp/Longjmp Exception Handling</a>
-</div>
+</h3>
<div class="doc_text">
@@ -138,9 +138,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="overview">Overview</a>
-</div>
+</h3>
<div class="doc_text">
@@ -186,9 +186,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section">
+<h2>
<a name="codegen">LLVM Code Generation</a>
-</div>
+</h2>
<div class="doc_text">
@@ -203,9 +203,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="throw">Throw</a>
-</div>
+</h3>
<div class="doc_text">
@@ -225,9 +225,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="try_catch">Try/Catch</a>
-</div>
+</h3>
<div class="doc_text">
@@ -313,9 +313,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="cleanups">Cleanups</a>
-</div>
+</h3>
<div class="doc_text">
@@ -332,9 +332,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="throw_filters">Throw Filters</a>
-</div>
+</h3>
<div class="doc_text">
@@ -359,9 +359,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="restrictions">Restrictions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -385,9 +385,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section">
+<h2>
<a name="format_common_intrinsics">Exception Handling Intrinsics</a>
-</div>
+</h2>
<div class="doc_text">
@@ -398,9 +398,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_exception">llvm.eh.exception</a>
-</div>
+</h4>
<div class="doc_text">
@@ -413,9 +413,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_selector">llvm.eh.selector</a>
-</div>
+</h4>
<div class="doc_text">
@@ -445,9 +445,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_typeid_for">llvm.eh.typeid.for</a>
-</div>
+</h4>
<div class="doc_text">
@@ -463,9 +463,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_sjlj_setjmp">llvm.eh.sjlj.setjmp</a>
-</div>
+</h4>
<div class="doc_text">
@@ -492,9 +492,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_sjlj_longjmp">llvm.eh.sjlj.longjmp</a>
-</div>
+</h4>
<div class="doc_text">
@@ -512,9 +512,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_sjlj_lsda">llvm.eh.sjlj.lsda</a>
-</div>
+</h4>
<div class="doc_text">
@@ -531,9 +531,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_sjlj_callsite">llvm.eh.sjlj.callsite</a>
-</div>
+</h4>
<div class="doc_text">
@@ -549,9 +549,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="llvm_eh_sjlj_dispatchsetup">llvm.eh.sjlj.dispatchsetup</a>
-</div>
+</h4>
<div class="doc_text">
@@ -566,9 +566,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section">
+<h2>
<a name="asm">Asm Table Formats</a>
-</div>
+</h2>
<div class="doc_text">
@@ -578,9 +578,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="unwind_tables">Exception Handling Frame</a>
-</div>
+</h3>
<div class="doc_text">
@@ -596,9 +596,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="exception_tables">Exception Tables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -612,9 +612,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section">
+<h2>
<a name="todo">ToDo</a>
-</div>
+</h2>
<div class="doc_text">
diff --git a/docs/ExtendingLLVM.html b/docs/ExtendingLLVM.html
index df706ea..7f77bb7 100644
--- a/docs/ExtendingLLVM.html
+++ b/docs/ExtendingLLVM.html
@@ -8,9 +8,9 @@
<body>
-<div class="doc_title">
+<h1>
Extending LLVM: Adding instructions, intrinsics, types, etc.
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction and Warning</a></li>
@@ -31,9 +31,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction and Warning</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -68,9 +68,9 @@ effort by doing so.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="intrinsic">Adding a new intrinsic function</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -130,9 +130,9 @@ support for it. Generally you must do the following steps:</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="sdnode">Adding a new SelectionDAG node</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -220,9 +220,9 @@ complicated behavior in a single node (rotate).</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="instruction">Adding a new instruction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -277,9 +277,9 @@ to understand this new instruction.</p>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="type">Adding a new type</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -291,9 +291,9 @@ installations.</span> Only add new types if it is absolutely necessary.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="fund_type">Adding a fundamental type</a>
-</div>
+</h3>
<div class="doc_text">
@@ -317,9 +317,9 @@ installations.</span> Only add new types if it is absolutely necessary.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="derived_type">Adding a derived type</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/FAQ.html b/docs/FAQ.html
index ae3a0da..620cf25 100644
--- a/docs/FAQ.html
+++ b/docs/FAQ.html
@@ -12,9 +12,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM: Frequently Asked Questions
-</div>
+</h1>
<ol>
<li><a href="#license">License</a>
@@ -138,9 +138,9 @@
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="license">License</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="question">
@@ -189,9 +189,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="source">Source Code</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="question">
@@ -227,9 +227,9 @@ LLVM have been ported to a plethora of platforms.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="build">Build Problems</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="question">
@@ -449,7 +449,9 @@ Stop.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="felangs">Source Languages</a></div>
+<h2>
+ <a name="felangs">Source Languages</a>
+</h2>
<div class="question">
<p><a name="langs">What source languages are supported?</a></p>
@@ -555,9 +557,9 @@ Stop.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="cfe">Using the GCC Front End</a>
-</div>
+</h2>
<div class="question">
<p>When I compile software that uses a configure script, the configure script
@@ -712,9 +714,9 @@ Stop.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="cfe_code">Questions about code generated by the GCC front-end</a>
-</div>
+</h2>
<div class="question">
<p><a name="iosinit">What is this <tt>llvm.global_ctors</tt> and
diff --git a/docs/GCCFEBuildInstrs.html b/docs/GCCFEBuildInstrs.html
index 6714a49..f3c9459 100644
--- a/docs/GCCFEBuildInstrs.html
+++ b/docs/GCCFEBuildInstrs.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
Building the LLVM GCC Front-End
-</div>
+</h1>
<ol>
<li><a href="#instructions">Building llvm-gcc from Source</a></li>
diff --git a/docs/GarbageCollection.html b/docs/GarbageCollection.html
index bd114b5..aa83a2d 100644
--- a/docs/GarbageCollection.html
+++ b/docs/GarbageCollection.html
@@ -13,9 +13,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
Accurate Garbage Collection with LLVM
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a>
@@ -79,9 +79,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -127,9 +127,9 @@ support accurate garbage collection.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="feature">Goals and non-goals</a>
-</div>
+</h3>
<div class="doc_text">
@@ -199,9 +199,9 @@ compiler matures.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="quickstart">Getting started</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -249,9 +249,9 @@ into <tt>llc</tt> and works even with the interpreter and C backends.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="quickstart-compiler">In your compiler</a>
-</div>
+</h3>
<div class="doc_text">
@@ -276,9 +276,9 @@ switching to a more advanced GC.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="quickstart-runtime">In your runtime</a>
-</div>
+</h3>
<div class="doc_text">
@@ -343,9 +343,9 @@ void visitGCRoots(void (*Visitor)(void **Root, const void *Meta)) {
}</pre></div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="shadow-stack">About the shadow stack</a>
-</div>
+</h3>
<div class="doc_text">
@@ -373,9 +373,9 @@ in order to improve performance.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="core">IR features</a><a name="intrinsics"></a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -393,9 +393,9 @@ program.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="gcattr">Specifying GC code generation: <tt>gc "..."</tt></a>
-</div>
+</h3>
<div class="doc_code"><tt>
define <i>ty</i> @<i>name</i>(...) <span style="text-decoration: underline">gc "<i>name</i>"</span> { ...
@@ -418,9 +418,9 @@ programs that use different garbage collection algorithms (or none at all).</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="gcroot">Identifying GC roots on the stack: <tt>llvm.gcroot</tt></a>
-</div>
+</h3>
<div class="doc_code"><tt>
void @llvm.gcroot(i8** %ptrloc, i8* %metadata)
@@ -494,9 +494,9 @@ CodeBlock:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="barriers">Reading and writing references in the heap</a>
-</div>
+</h3>
<div class="doc_text">
@@ -537,9 +537,9 @@ are used.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="gcwrite">Write barrier: <tt>llvm.gcwrite</tt></a>
-</div>
+</h4>
<div class="doc_code"><tt>
void @llvm.gcwrite(i8* %value, i8* %object, i8** %derived)
@@ -559,9 +559,9 @@ implement reference counting.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="gcread">Read barrier: <tt>llvm.gcread</tt></a>
-</div>
+</h4>
<div class="doc_code"><tt>
i8* @llvm.gcread(i8* %object, i8** %derived)<br>
@@ -581,9 +581,9 @@ writes.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="plugin">Implementing a collector plugin</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -669,9 +669,9 @@ as a language-specific compiler front-end.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="collector-algos">Overview of available features</a>
-</div>
+</h3>
<div class="doc_text">
@@ -958,9 +958,9 @@ interest.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="stack-map">Computing stack maps</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1014,9 +1014,9 @@ for collector plugins which implement reference counting or a shadow stack.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="init-roots">Initializing roots to null: <tt>InitRoots</tt></a>
-</div>
+</h3>
<div class="doc_text">
@@ -1039,10 +1039,10 @@ this feature should be used by all GC plugins. It is enabled by default.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="custom">Custom lowering of intrinsics: <tt>CustomRoots</tt>,
<tt>CustomReadBarriers</tt>, and <tt>CustomWriteBarriers</tt></a>
-</div>
+</h3>
<div class="doc_text">
@@ -1129,9 +1129,9 @@ bool MyGC::performCustomLowering(Function &amp;F) {
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="safe-points">Generating safe points: <tt>NeededSafePoints</tt></a>
-</div>
+</h3>
<div class="doc_text">
@@ -1193,9 +1193,9 @@ safe point (because only the topmost function has been patched).</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="assembly">Emitting assembly code: <tt>GCMetadataPrinter</tt></a>
-</div>
+</h3>
<div class="doc_text">
@@ -1343,9 +1343,9 @@ void MyGCPrinter::finishAssembly(std::ostream &amp;OS, AsmPrinter &amp;AP,
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="references">References</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/GetElementPtr.html b/docs/GetElementPtr.html
index 9e3f8bb..d1c5b6c 100644
--- a/docs/GetElementPtr.html
+++ b/docs/GetElementPtr.html
@@ -11,9 +11,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
The Often Misunderstood GEP Instruction
-</div>
+</h1>
<ol>
<li><a href="#intro">Introduction</a></li>
@@ -58,7 +58,7 @@
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro"><b>Introduction</b></a></div>
+<h2><a name="intro">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -72,7 +72,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="addresses"><b>Address Computation</b></a></div>
+<h2><a name="addresses">Address Computation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
<p>When people are first confronted with the GEP instruction, they tend to
@@ -83,9 +83,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="firstptr"><b>What is the first index of the GEP instruction?</b></a>
-</div>
+<h3>
+ <a name="firstptr">What is the first index of the GEP instruction?</a>
+</h3>
<div class="doc_text">
<p>Quick answer: The index stepping through the first operand.</p>
<p>The confusion with the first index usually arises from thinking about
@@ -205,9 +205,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="extra_index"><b>Why is the extra 0 index required?</b></a>
-</div>
+<h3>
+ <a name="extra_index">Why is the extra 0 index required?</a>
+</h3>
<!-- *********************************************************************** -->
<div class="doc_text">
<p>Quick answer: there are no superfluous indices.</p>
@@ -247,9 +247,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="deref"><b>What is dereferenced by GEP?</b></a>
-</div>
+<h3>
+ <a name="deref">What is dereferenced by GEP?</a>
+</h3>
<div class="doc_text">
<p>Quick answer: nothing.</p>
<p>The GetElementPtr instruction dereferences nothing. That is, it doesn't
@@ -302,9 +302,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="lead0"><b>Why don't GEP x,0,0,1 and GEP x,1 alias?</b></a>
-</div>
+<h3>
+ <a name="lead0">Why don't GEP x,0,0,1 and GEP x,1 alias?</a>
+</h3>
<div class="doc_text">
<p>Quick Answer: They compute different address locations.</p>
<p>If you look at the first indices in these GEP
@@ -331,9 +331,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="trail0"><b>Why do GEP x,1,0,0 and GEP x,1 alias?</b></a>
-</div>
+<h3>
+ <a name="trail0">Why do GEP x,1,0,0 and GEP x,1 alias?</a>
+</h3>
<div class="doc_text">
<p>Quick Answer: They compute the same address location.</p>
<p>These two GEP instructions will compute the same address because indexing
@@ -355,9 +355,9 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="vectors"><b>Can GEP index into vector elements?</b></a>
-</div>
+<h3>
+ <a name="vectors">Can GEP index into vector elements?</a>
+</h3>
<div class="doc_text">
<p>This hasn't always been forcefully disallowed, though it's not recommended.
It leads to awkward special cases in the optimizers, and fundamental
@@ -368,9 +368,9 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="addrspace"><b>What effect do address spaces have on GEPs?</b></a>
-</div>
+<h3>
+ <a name="addrspace">What effect do address spaces have on GEPs?</a>
+</h3>
<div class="doc_text">
<p>None, except that the address space qualifier on the first operand pointer
type always matches the address space qualifier on the result type.</p>
@@ -379,10 +379,11 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="int"><b>How is GEP different from ptrtoint, arithmetic,
- and inttoptr?</b></a>
-</div>
+<h3>
+ <a name="int">
+ How is GEP different from ptrtoint, arithmetic, and inttoptr?
+ </a>
+</h3>
<div class="doc_text">
<p>It's very similar; there are only subtle differences.</p>
@@ -409,10 +410,12 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="be"><b>I'm writing a backend for a target which needs custom
- lowering for GEP. How do I do this?</b></a>
-</div>
+<h3>
+ <a name="be">
+ I'm writing a backend for a target which needs custom lowering for GEP.
+ How do I do this?
+ </a>
+</h3>
<div class="doc_text">
<p>You don't. The integer computation implied by a GEP is target-independent.
Typically what you'll need to do is make your backend pattern-match
@@ -431,9 +434,9 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="vla"><b>How does VLA addressing work with GEPs?</b></a>
-</div>
+<h3>
+ <a name="vla">How does VLA addressing work with GEPs?</a>
+</h3>
<div class="doc_text">
<p>GEPs don't natively support VLAs. LLVM's type system is entirely static,
and GEP address computations are guided by an LLVM type.</p>
@@ -451,14 +454,14 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="rules"><b>Rules</b></a></div>
+<h2><a name="rules">Rules</a></h2>
<!-- *********************************************************************** -->
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="bounds"><b>What happens if an array index is out of bounds?</b></a>
-</div>
+<h3>
+ <a name="bounds">What happens if an array index is out of bounds?</a>
+</h3>
<div class="doc_text">
<p>There are two senses in which an array index can be out of bounds.</p>
@@ -498,9 +501,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="negative"><b>Can array indices be negative?</b></a>
-</div>
+<h3>
+ <a name="negative">Can array indices be negative?</a>
+</h3>
<div class="doc_text">
<p>Yes. This is basically a special case of array indices being out
of bounds.</p>
@@ -508,9 +511,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="compare"><b>Can I compare two values computed with GEPs?</b></a>
-</div>
+<h3>
+ <a name="compare">Can I compare two values computed with GEPs?</a>
+</h3>
<div class="doc_text">
<p>Yes. If both addresses are within the same allocated object, or
one-past-the-end, you'll get the comparison result you expect. If either
@@ -520,10 +523,12 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="types"><b>Can I do GEP with a different pointer type than the type of
- the underlying object?</b></a>
-</div>
+<h3>
+ <a name="types">
+ Can I do GEP with a different pointer type than the type of
+ the underlying object?
+ </a>
+</h3>
<div class="doc_text">
<p>Yes. There are no restrictions on bitcasting a pointer value to an arbitrary
pointer type. The types in a GEP serve only to define the parameters for the
@@ -538,10 +543,11 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="null"><b>Can I cast an object's address to integer and add it
- to null?</b></a>
-</div>
+<h3>
+ <a name="null">
+ Can I cast an object's address to integer and add it to null?
+ </a>
+</h3>
<div class="doc_text">
<p>You can compute an address that way, but if you use GEP to do the add,
you can't use that pointer to actually access the object, unless the
@@ -562,10 +568,12 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="ptrdiff"><b>Can I compute the distance between two objects, and add
- that value to one address to compute the other address?</b></a>
-</div>
+<h3>
+ <a name="ptrdiff">
+ Can I compute the distance between two objects, and add
+ that value to one address to compute the other address?
+ </a>
+</h3>
<div class="doc_text">
<p>As with arithmetic on null, You can use GEP to compute an address that
way, but you can't use that pointer to actually access the object if you
@@ -577,9 +585,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="tbaa"><b>Can I do type-based alias analysis on LLVM IR?</b></a>
-</div>
+<h3>
+ <a name="tbaa">Can I do type-based alias analysis on LLVM IR?</a>
+</h3>
<div class="doc_text">
<p>You can't do type-based alias analysis using LLVM's built-in type system,
because LLVM has no restrictions on mixing types in addressing, loads or
@@ -594,9 +602,9 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="overflow"><b>What happens if a GEP computation overflows?</b></a>
-</div>
+<h3>
+ <a name="overflow">What happens if a GEP computation overflows?</a>
+</h3>
<div class="doc_text">
<p>If the GEP lacks the <tt>inbounds</tt> keyword, the value is the result
from evaluating the implied two's complement integer computation. However,
@@ -624,10 +632,11 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="check"><b>How can I tell if my front-end is following the
- rules?</b></a>
-</div>
+<h3>
+ <a name="check">
+ How can I tell if my front-end is following the rules?
+ </a>
+</h3>
<div class="doc_text">
<p>There is currently no checker for the getelementptr rules. Currently,
the only way to do this is to manually check each place in your front-end
@@ -642,14 +651,14 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="rationale"><b>Rationale</b></a></div>
+<h2><a name="rationale">Rationale</a></h2>
<!-- *********************************************************************** -->
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="goals"><b>Why is GEP designed this way?</b></a>
-</div>
+<h3>
+ <a name="goals">Why is GEP designed this way?</a>
+</h3>
<div class="doc_text">
<p>The design of GEP has the following goals, in rough unofficial
order of priority:</p>
@@ -669,9 +678,9 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="i32"><b>Why do struct member indices always use i32?</b></a>
-</div>
+<h3>
+ <a name="i32">Why do struct member indices always use i32?</a>
+</h3>
<div class="doc_text">
<p>The specific type i32 is probably just a historical artifact, however it's
wide enough for all practical purposes, so there's been no need to change it.
@@ -684,9 +693,9 @@ idx3 = (char*) &amp;MyVar + 8
<!-- *********************************************************************** -->
-<div class="doc_subsection">
- <a name="uglygep"><b>What's an uglygep?</b></a>
-</div>
+<h3>
+ <a name="uglygep">What's an uglygep?</a>
+</h3>
<div class="doc_text">
<p>Some LLVM optimizers operate on GEPs by internally lowering them into
more primitive integer expressions, which allows them to be combined
@@ -705,7 +714,7 @@ idx3 = (char*) &amp;MyVar + 8
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="summary"><b>Summary</b></a></div>
+<h2><a name="summary">Summary</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html
index d670611..2bca7ae 100644
--- a/docs/GettingStarted.html
+++ b/docs/GettingStarted.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
Getting Started with the LLVM System
-</div>
+</h1>
<ul>
<li><a href="#overview">Overview</a>
@@ -70,9 +70,9 @@
<!-- *********************************************************************** -->
-<div class="doc_section">
- <a name="overview"><b>Overview</b></a>
-</div>
+<h2>
+ <a name="overview">Overview</a>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -102,9 +102,9 @@ and performance.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
- <a name="quickstart"><b>Getting Started Quickly (A Summary)</b></a>
-</div>
+<h2>
+ <a name="quickstart">Getting Started Quickly (A Summary)</a>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -191,9 +191,9 @@ Layout</a> to learn about the layout of the source code tree.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
- <a name="requirements"><b>Requirements</b></a>
-</div>
+<h2>
+ <a name="requirements">Requirements</a>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -205,9 +205,9 @@ software you will need.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
- <a name="hardware"><b>Hardware</b></a>
-</div>
+<h3>
+ <a name="hardware">Hardware</a>
+</h3>
<div class="doc_text">
@@ -370,7 +370,9 @@ href="GCCFEBuildInstrs.html">try to compile it</a> on your platform.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="software"><b>Software</b></a></div>
+<h3>
+ <a name="software">Software</a>
+</h3>
<div class="doc_text">
<p>Compiling LLVM requires that you have several software packages
installed. The table below lists those required packages. The Package column
@@ -508,9 +510,9 @@ href="GCCFEBuildInstrs.html">try to compile it</a> on your platform.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="brokengcc">Broken versions of GCC and other tools</a>
-</div>
+</h3>
<div class="doc_text">
@@ -608,9 +610,9 @@ upgrading to a newer version of Gold.</p>
<!-- *********************************************************************** -->
-<div class="doc_section">
- <a name="starting"><b>Getting Started with LLVM</b></a>
-</div>
+<h2>
+ <a name="starting">Getting Started with LLVM</a>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -626,9 +628,9 @@ help via e-mail.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="terminology">Terminology and Notation</a>
-</div>
+</h3>
<div class="doc_text">
@@ -663,9 +665,9 @@ All these paths are absolute:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="environment">Setting Up Your Environment</a>
-</div>
+</h3>
<div class="doc_text">
@@ -686,9 +688,9 @@ variables.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="unpack">Unpacking the LLVM Archives</a>
-</div>
+</h3>
<div class="doc_text">
@@ -720,9 +722,9 @@ compressed with the gzip program.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="checkout">Checkout LLVM from Subversion</a>
-</div>
+</h3>
<div class="doc_text">
@@ -791,9 +793,9 @@ instructions</a> to successfully get and build the LLVM GCC front-end.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="git_mirror">GIT mirror</a>
-</div>
+</h3>
<div class="doc_text">
@@ -810,9 +812,9 @@ instructions</a> to successfully get and build the LLVM GCC front-end.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="installcf">Install the GCC Front End</a>
-</div>
+</h3>
<div class="doc_text">
@@ -880,9 +882,9 @@ please let us know how you would like to see things improved by dropping us a no
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="config">Local LLVM Configuration</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1002,9 +1004,9 @@ script to configure the build system:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="compile">Compiling the LLVM Suite Source Code</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1136,9 +1138,9 @@ that directory that is out of date.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="cross-compile">Cross-Compiling LLVM</a>
-</div>
+</h3>
<div class="doc_text">
<p>It is possible to cross-compile LLVM itself. That is, you can create LLVM
@@ -1154,9 +1156,9 @@ that directory that is out of date.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="objfiles">The Location of LLVM Object Files</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1214,9 +1216,9 @@ named after the build type:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="optionalconfig">Optional Configuration Items</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1250,9 +1252,9 @@ $ sudo update-binfmts --install llvm /path/to/lli --magic 'BC'
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
- <a name="layout"><b>Program Layout</b></a>
-</div>
+<h2>
+ <a name="layout">Program Layout</a>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1265,14 +1267,20 @@ The following is a brief introduction to code layout:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="examples"><tt>llvm/examples</tt></a></div>
+<h3>
+ <a name="examples"><tt>llvm/examples</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains some simple examples of how to use the LLVM IR and
JIT.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="include"><tt>llvm/include</tt></a></div>
+<h3>
+ <a name="include"><tt>llvm/include</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains public header files exported from the LLVM
@@ -1300,7 +1308,10 @@ library. The three main subdirectories of this directory are:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="lib"><tt>llvm/lib</tt></a></div>
+<h3>
+ <a name="lib"><tt>llvm/lib</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains most of the source files of the LLVM system. In LLVM,
@@ -1366,7 +1377,10 @@ different <a href="#tools">tools</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="projects"><tt>llvm/projects</tt></a></div>
+<h3>
+ <a name="projects"><tt>llvm/projects</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains projects that are not strictly part of LLVM but are
shipped with LLVM. This is also the directory where you should create your own
@@ -1375,7 +1389,10 @@ different <a href="#tools">tools</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="runtime"><tt>llvm/runtime</tt></a></div>
+<h3>
+ <a name="runtime"><tt>llvm/runtime</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains libraries which are compiled into LLVM bitcode and
@@ -1389,7 +1406,10 @@ end to compile.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="test"><tt>llvm/test</tt></a></div>
+<h3>
+ <a name="test"><tt>llvm/test</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains feature and regression tests and other basic sanity
checks on the LLVM infrastructure. These are intended to run quickly and cover
@@ -1397,7 +1417,10 @@ end to compile.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="test-suite"><tt>test-suite</tt></a></div>
+<h3>
+ <a name="test-suite"><tt>test-suite</tt></a>
+</h3>
+
<div class="doc_text">
<p>This is not a directory in the normal llvm module; it is a separate
Subversion
@@ -1413,7 +1436,10 @@ end to compile.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="tools"><tt>llvm/tools</tt></a></div>
+<h3>
+ <a name="tools"><tt>llvm/tools</tt></a>
+</h3>
+
<div class="doc_text">
<p>The <b>tools</b> directory contains the executables built out of the
@@ -1498,7 +1524,10 @@ information is in the <a href="CommandGuide/index.html">Command Guide</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="utils"><tt>llvm/utils</tt></a></div>
+<h3>
+ <a name="utils"><tt>llvm/utils</tt></a>
+</h3>
+
<div class="doc_text">
<p>This directory contains utilities for working with LLVM source code, and some
@@ -1561,9 +1590,9 @@ are code generators for parts of LLVM infrastructure.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="tutorial">An Example Using the LLVM Tool Chain</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1580,7 +1609,9 @@ output.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="tutorial4">Example with llvm-gcc4</a></div>
+<h3>
+ <a name="tutorial4">Example with llvm-gcc4</a>
+</h3>
<div class="doc_text">
@@ -1665,9 +1696,9 @@ int main() {
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="problems">Common Problems</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1679,9 +1710,9 @@ Asked Questions</a> page.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="links">Links</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/GettingStartedVS.html b/docs/GettingStartedVS.html
index 113ba49..469b537 100644
--- a/docs/GettingStartedVS.html
+++ b/docs/GettingStartedVS.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
Getting Started with the LLVM System using Microsoft Visual Studio
-</div>
+</h1>
<ul>
<li><a href="#overview">Overview</a>
@@ -31,9 +31,9 @@
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="overview"><b>Overview</b></a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -70,9 +70,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="requirements"><b>Requirements</b></a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -84,9 +84,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="hardware"><b>Hardware</b></a>
-</div>
+</h3>
<div class="doc_text">
@@ -97,7 +97,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="software"><b>Software</b></a></div>
+<h3><a name="software"><b>Software</b></a></h3>
<div class="doc_text">
<p>You will need Visual Studio .NET 2005 SP1 or higher. The VS2005 SP1
@@ -119,9 +119,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="quickstart"><b>Getting Started</b></a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -229,9 +229,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="tutorial">An Example Using the LLVM Tool Chain</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -319,9 +319,9 @@ int main() {
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="problems">Common Problems</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -333,9 +333,9 @@ Asked Questions</a> page.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="links">Links</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/GoldPlugin.html b/docs/GoldPlugin.html
index 051d8a4..7ba1186 100644
--- a/docs/GoldPlugin.html
+++ b/docs/GoldPlugin.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">LLVM gold plugin</div>
+<h1>LLVM gold plugin</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#build">How to build it</a></li>
@@ -21,7 +21,7 @@
<div class="doc_author">Written by Nick Lewycky</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>Building with link time optimization requires cooperation from the
@@ -38,7 +38,7 @@ The same plugin can also be used by other tools such as <tt>ar</tt> and
<tt>nm</tt>.
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="build">How to build it</a></div>
+<h2><a name="build">How to build it</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>You need to have gold with plugin support and build the LLVMgold
@@ -72,7 +72,7 @@ placed.
</ul>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="usage">Usage</a></div>
+<h2><a name="usage">Usage</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>The linker takes a <tt>-plugin</tt> option that points to the path of
@@ -98,9 +98,9 @@ placed.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="example1">Example of link time optimization</a>
-</div>
+</h3>
<div class="doc_text">
<p>The following example shows a worked example of the gold plugin mixing
@@ -150,7 +150,11 @@ $ llvm-gcc -use-gold-plugin a.a b.o -o main # &lt;-- link with LLVMgold plugin
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="lto_autotools">Quickstart for using LTO with autotooled projects</a></div>
+<h2>
+ <a name="lto_autotools">
+ Quickstart for using LTO with autotooled projects
+ </a>
+</h2>
<!--=========================================================================-->
<div class="doc_text">
<p>Once your system <tt>ld</tt>, <tt>ar</tt> and <tt>nm</tt> all support LLVM
@@ -189,7 +193,7 @@ export CFLAGS="-O4"
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="licensing">Licensing</a></div>
+<h2><a name="licensing">Licensing</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>Gold is licensed under the GPLv3. LLVMgold uses the interface file
diff --git a/docs/HowToReleaseLLVM.html b/docs/HowToReleaseLLVM.html
index 85398d4..59e7864 100644
--- a/docs/HowToReleaseLLVM.html
+++ b/docs/HowToReleaseLLVM.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">How To Release LLVM To The Public</div>
+<h1>How To Release LLVM To The Public</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#criteria">Qualification Criteria</a></li>
@@ -23,7 +23,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -36,7 +36,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="process">Release Timeline</a></div>
+<h2><a name="process">Release Timeline</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -76,7 +76,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="process">Release Process</a></div>
+<h2><a name="process">Release Process</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -122,7 +122,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="release-admin">Release Administrative Tasks</a></div>
+<h3><a name="release-admin">Release Administrative Tasks</a></h3>
<div class="doc_text">
@@ -138,7 +138,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="branch">Create Release Branch</a></div>
+<h4><a name="branch">Create Release Branch</a></h4>
<div class="doc_text">
@@ -198,7 +198,7 @@ $ svn co https://llvm.org/svn/llvm-project/cfe/branches/release_<i>XY</i> clang-
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="verchanges">Update LLVM Version</a></div>
+<h4><a name="verchanges">Update LLVM Version</a></h4>
<div class="doc_text">
@@ -214,7 +214,7 @@ $ svn co https://llvm.org/svn/llvm-project/cfe/branches/release_<i>XY</i> clang-
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="dist">Build the LLVM Release Candidates</a></div>
+<h4><a name="dist">Build the LLVM Release Candidates</a></h4>
<div class="doc_text">
@@ -269,7 +269,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="release-build">Building the Release</a></div>
+<h3><a name="release-build">Building the Release</a></h3>
<div class="doc_text">
@@ -290,7 +290,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="build">Build LLVM</a></div>
+<h4><a name="build">Build LLVM</a></h4>
<div class="doc_text">
@@ -302,7 +302,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="llvmgccbin">Build the LLVM GCC Binary Distribution</a></div>
+<h4><a name="llvmgccbin">Build the LLVM GCC Binary Distribution</a></h4>
<div class="doc_text">
@@ -329,7 +329,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="clangbin">Build Clang Binary Distribution</a></div>
+<h4><a name="clangbin">Build Clang Binary Distribution</a></h4>
<div class="doc_text">
@@ -350,7 +350,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="target-build">Target Specific Build Details</a></div>
+<h4><a name="target-build">Target Specific Build Details</a></h4>
<div class="doc_text">
@@ -372,8 +372,7 @@ $ tar -cvf - clang-<i>X.Y</i>rc1 | gzip &gt; clang-<i>X.Y</i>rc1.src.tar.g
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="release-qualify">
-Building the Release</a></div>
+<h3><a name="release-qualify">Building the Release</a></h3>
<div class="doc_text">
@@ -394,7 +393,7 @@ Building the Release</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="llvm-qualify">Qualify LLVM</a></div>
+<h4><a name="llvm-qualify">Qualify LLVM</a></h4>
<div class="doc_text">
@@ -405,7 +404,7 @@ Building the Release</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="llvmgcc-qualify">Qualify LLVM-GCC</a></div>
+<h4><a name="llvmgcc-qualify">Qualify LLVM-GCC</a></h4>
<div class="doc_text">
@@ -418,7 +417,7 @@ Building the Release</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="clang-qualify">Qualify Clang</a></div>
+<h4><a name="clang-qualify">Qualify Clang</a></h4>
<div class="doc_text">
@@ -429,8 +428,7 @@ Building the Release</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="targets">Specific Target
-Qualification Details</a></div>
+<h4><a name="targets">Specific Target Qualification Details</a></h4>
<div class="doc_text">
@@ -447,7 +445,7 @@ Qualification Details</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="commTest">Community Testing</a></div>
+<h3><a name="commTest">Community Testing</a></h3>
<div class="doc_text">
<p>Once all testing has been completed and appropriate bugs filed, the release
@@ -484,7 +482,7 @@ Qualification Details</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="release-patch">Release Patch Rules</a></div>
+<h3><a name="release-patch">Release Patch Rules</a></h3>
<div class="doc_text">
@@ -508,8 +506,7 @@ Qualification Details</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="release-final">Release Final Tasks
-</a></div>
+<h3><a name="release-final">Release Final Tasks</a></h3>
<div class="doc_text">
@@ -521,7 +518,7 @@ Qualification Details</a></div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="updocs">Update Documentation</a></div>
+<h4><a name="updocs">Update Documentation</a></h4>
<div class="doc_text">
@@ -535,7 +532,7 @@ Qualification Details</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="tag">Tag the LLVM Final Release</a></div>
+<h4><a name="tag">Tag the LLVM Final Release</a></h4>
<div class="doc_text">
@@ -560,7 +557,7 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="updemo">Update the LLVM Demo Page</a></div>
+<h3><a name="updemo">Update the LLVM Demo Page</a></h3>
<div class="doc_text">
@@ -570,7 +567,7 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="webupdates">Update the LLVM Website</a></div>
+<h4><a name="webupdates">Update the LLVM Website</a></h4>
<div class="doc_text">
@@ -606,7 +603,7 @@ $ svn copy https://llvm.org/svn/llvm-project/cfe/branches/release_XY \
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="announce">Announce the Release</a></div>
+<h4><a name="announce">Announce the Release</a></h4>
<div class="doc_text">
diff --git a/docs/HowToSubmitABug.html b/docs/HowToSubmitABug.html
index b9d8362..ca34384 100644
--- a/docs/HowToSubmitABug.html
+++ b/docs/HowToSubmitABug.html
@@ -7,9 +7,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
How to submit an LLVM bug report
-</div>
+</h1>
<table class="layout" style="width: 90%" >
<tr class="layout">
@@ -37,9 +37,9 @@
</table>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction - Got bugs?</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -76,9 +76,9 @@ information:</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="crashers">Crashing Bugs</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -112,9 +112,9 @@ with the following extra command line options:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="front-end">Front-end bugs</a>
-</div>
+</h3>
<div class="doc_text">
@@ -137,9 +137,9 @@ has instructions on the best way to use delta.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ct_optimizer">Compile-time optimization bugs</a>
-</div>
+</h3>
<div class="doc_text">
@@ -171,9 +171,9 @@ that bugpoint emits. If something goes wrong with bugpoint, please submit the
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ct_codegen">Code generator bugs</a>
-</div>
+</h3>
<div class="doc_text">
@@ -208,9 +208,9 @@ that bugpoint emits. If something goes wrong with bugpoint, please submit the
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="miscompilations">Miscompilations</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -241,9 +241,9 @@ error.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="codegen">Incorrect code generation</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/LangRef.html b/docs/LangRef.html
index 8c5ba80..69e0a75 100644
--- a/docs/LangRef.html
+++ b/docs/LangRef.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title"> LLVM Language Reference Manual </div>
+<h1>LLVM Language Reference Manual</h1>
<ol>
<li><a href="#abstract">Abstract</a></li>
<li><a href="#introduction">Introduction</a></li>
@@ -321,7 +321,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="abstract">Abstract </a></div>
+<h2><a name="abstract">Abstract</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -335,7 +335,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="introduction">Introduction</a> </div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -362,7 +362,9 @@
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="wellformed">Well-Formedness</a> </div>
+<h4>
+ <a name="wellformed">Well-Formedness</a>
+</h4>
<div class="doc_text">
@@ -387,7 +389,7 @@
<!-- Describe the typesetting conventions here. -->
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="identifiers">Identifiers</a> </div>
+<h2><a name="identifiers">Identifiers</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -475,12 +477,13 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="highlevel">High Level Structure</a> </div>
+<h2><a name="highlevel">High Level Structure</a></h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="modulestructure">Module Structure</a>
-</div>
+<h3>
+ <a name="modulestructure">Module Structure</a>
+</h3>
<div class="doc_text">
@@ -528,9 +531,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="linkage">Linkage Types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -677,9 +680,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="callingconv">Calling Conventions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -750,9 +753,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="visibility">Visibility Styles</a>
-</div>
+</h3>
<div class="doc_text">
@@ -784,9 +787,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="namedtypes">Named Types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -815,9 +818,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="globalvars">Global Variables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -883,9 +886,9 @@ define i32 @main() { <i>; i32()* </i>&nbsp;
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="functionstructure">Functions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -946,9 +949,9 @@ define [<a href="#linkage">linkage</a>] [<a href="#visibility">visibility</a>]
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="aliasstructure">Aliases</a>
-</div>
+</h3>
<div class="doc_text">
@@ -965,9 +968,9 @@ define [<a href="#linkage">linkage</a>] [<a href="#visibility">visibility</a>]
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="namedmetadatastructure">Named Metadata</a>
-</div>
+</h3>
<div class="doc_text">
@@ -988,7 +991,9 @@ define [<a href="#linkage">linkage</a>] [<a href="#visibility">visibility</a>]
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="paramattrs">Parameter Attributes</a></div>
+<h3>
+ <a name="paramattrs">Parameter Attributes</a>
+</h3>
<div class="doc_text">
@@ -1097,9 +1102,9 @@ declare signext i8 @returns_signed_char()
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="gc">Garbage Collector Names</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1117,9 +1122,9 @@ define void @f() gc "name" { ... }
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="fnattrs">Function Attributes</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1240,9 +1245,9 @@ define void @f() optsize { ... }
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="moduleasm">Module-Level Inline Assembly</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1266,9 +1271,9 @@ module asm "more can go here"
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="datalayout">Data Layout</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1378,9 +1383,9 @@ target datalayout = "<i>layout specification</i>"
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="pointeraliasing">Pointer Aliasing Rules</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1442,9 +1447,9 @@ to implement type-based alias analysis.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="volatile">Volatile Memory Accesses</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1460,7 +1465,7 @@ synchronization behavior.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="typesystem">Type System</a> </div>
+<h2><a name="typesystem">Type System</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1476,8 +1481,9 @@ synchronization behavior.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="t_classifications">Type
-Classifications</a> </div>
+<h3>
+ <a name="t_classifications">Type Classifications</a>
+</h3>
<div class="doc_text">
@@ -1536,7 +1542,9 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="t_primitive">Primitive Types</a> </div>
+<h3>
+ <a name="t_primitive">Primitive Types</a>
+</h3>
<div class="doc_text">
@@ -1546,7 +1554,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_integer">Integer Type</a> </div>
+<h4>
+ <a name="t_integer">Integer Type</a>
+</h4>
<div class="doc_text">
@@ -1582,7 +1592,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_floating">Floating Point Types</a> </div>
+<h4>
+ <a name="t_floating">Floating Point Types</a>
+</h4>
<div class="doc_text">
@@ -1600,7 +1612,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_x86mmx">X86mmx Type</a> </div>
+<h4>
+ <a name="t_x86mmx">X86mmx Type</a>
+</h4>
<div class="doc_text">
@@ -1615,7 +1629,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_void">Void Type</a> </div>
+<h4>
+ <a name="t_void">Void Type</a>
+</h4>
<div class="doc_text">
@@ -1630,7 +1646,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_label">Label Type</a> </div>
+<h4>
+ <a name="t_label">Label Type</a>
+</h4>
<div class="doc_text">
@@ -1645,7 +1663,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_metadata">Metadata Type</a> </div>
+<h4>
+ <a name="t_metadata">Metadata Type</a>
+</h4>
<div class="doc_text">
@@ -1663,7 +1683,9 @@ Classifications</a> </div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="t_derived">Derived Types</a> </div>
+<h3>
+ <a name="t_derived">Derived Types</a>
+</h3>
<div class="doc_text">
@@ -1678,7 +1700,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_aggregate">Aggregate Types</a> </div>
+<h4>
+ <a name="t_aggregate">Aggregate Types</a>
+</h4>
<div class="doc_text">
@@ -1690,7 +1714,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_array">Array Type</a> </div>
+<h4>
+ <a name="t_array">Array Type</a>
+</h4>
<div class="doc_text">
@@ -1748,7 +1774,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_function">Function Type</a> </div>
+<h4>
+ <a name="t_function">Function Type</a>
+</h4>
<div class="doc_text">
@@ -1801,7 +1829,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_struct">Structure Type</a> </div>
+<h4>
+ <a name="t_struct">Structure Type</a>
+</h4>
<div class="doc_text">
@@ -1839,8 +1869,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_pstruct">Packed Structure Type</a>
-</div>
+<h4>
+ <a name="t_pstruct">Packed Structure Type</a>
+</h4>
<div class="doc_text">
@@ -1877,7 +1908,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_pointer">Pointer Type</a> </div>
+<h4>
+ <a name="t_pointer">Pointer Type</a>
+</h4>
<div class="doc_text">
@@ -1921,7 +1954,9 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_vector">Vector Type</a> </div>
+<h4>
+ <a name="t_vector">Vector Type</a>
+</h4>
<div class="doc_text">
@@ -1960,7 +1995,10 @@ Classifications</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="t_opaque">Opaque Type</a> </div>
+<h4>
+ <a name="t_opaque">Opaque Type</a>
+</h4>
+
<div class="doc_text">
<h5>Overview:</h5>
@@ -1985,9 +2023,9 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="t_uprefs">Type Up-references</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2033,7 +2071,7 @@ Classifications</a> </div>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="constants">Constants</a> </div>
+<h2><a name="constants">Constants</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2044,7 +2082,9 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="simpleconstants">Simple Constants</a></div>
+<h3>
+ <a name="simpleconstants">Simple Constants</a>
+</h3>
<div class="doc_text">
@@ -2099,10 +2139,10 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="aggregateconstants"></a> <!-- old anchor -->
<a name="complexconstants">Complex Constants</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2154,9 +2194,9 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="globalconstants">Global Variable and Function Addresses</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2176,7 +2216,10 @@ Classifications</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="undefvalues">Undefined Values</a></div>
+<h3>
+ <a name="undefvalues">Undefined Values</a>
+</h3>
+
<div class="doc_text">
<p>The string '<tt>undef</tt>' can be used anywhere a constant is expected, and
@@ -2316,7 +2359,10 @@ b: unreachable
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="trapvalues">Trap Values</a></div>
+<h3>
+ <a name="trapvalues">Trap Values</a>
+</h3>
+
<div class="doc_text">
<p>Trap values are similar to <a href="#undefvalues">undef values</a>, however
@@ -2441,8 +2487,10 @@ second_end:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="blockaddress">Addresses of Basic
- Blocks</a></div>
+<h3>
+ <a name="blockaddress">Addresses of Basic Blocks</a>
+</h3>
+
<div class="doc_text">
<p><b><tt>blockaddress(@function, %block)</tt></b></p>
@@ -2468,8 +2516,9 @@ second_end:
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="constantexprs">Constant Expressions</a>
-</div>
+<h3>
+ <a name="constantexprs">Constant Expressions</a>
+</h3>
<div class="doc_text">
@@ -2598,13 +2647,13 @@ second_end:
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="othervalues">Other Values</a> </div>
+<h2><a name="othervalues">Other Values</a></h2>
<!-- *********************************************************************** -->
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="inlineasm">Inline Assembler Expressions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2657,9 +2706,9 @@ call void asm alignstack "eieio", ""()
another document that covers inline asm from a holistic perspective.</p>
</div>
-<div class="doc_subsubsection">
+<h4>
<a name="inlineasm_md">Inline Asm Metadata</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2683,9 +2732,9 @@ call void asm sideeffect "something bad", ""()<b>, !srcloc !42</b>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="metadata">Metadata Nodes and Metadata
- Strings</a>
-</div>
+<h3>
+ <a name="metadata">Metadata Nodes and Metadata Strings</a>
+</h3>
<div class="doc_text">
@@ -2731,9 +2780,9 @@ call void @llvm.dbg.value(metadata !24, i64 0, metadata !25)
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="intrinsic_globals">Intrinsic Global Variables</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<p>LLVM has a number of "magic" global variables that contain data that affect
@@ -2743,9 +2792,9 @@ section and all globals that start with "<tt>llvm.</tt>" are reserved for use
by LLVM.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="intg_used">The '<tt>llvm.used</tt>' Global Variable</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2778,9 +2827,11 @@ object file to prevent the assembler and linker from molesting the symbol.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
-<a name="intg_compiler_used">The '<tt>llvm.compiler.used</tt>' Global Variable</a>
-</div>
+<h3>
+ <a name="intg_compiler_used">
+ The '<tt>llvm.compiler.used</tt>' Global Variable
+ </a>
+</h3>
<div class="doc_text">
@@ -2796,9 +2847,9 @@ should not be exposed to source languages.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="intg_global_ctors">The '<tt>llvm.global_ctors</tt>' Global Variable</a>
-</div>
+</h3>
<div class="doc_text">
<pre>
@@ -2811,9 +2862,9 @@ should not be exposed to source languages.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="intg_global_dtors">The '<tt>llvm.global_dtors</tt>' Global Variable</a>
-</div>
+</h3>
<div class="doc_text">
<pre>
@@ -2828,7 +2879,7 @@ should not be exposed to source languages.</p>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="instref">Instruction Reference</a> </div>
+<h2><a name="instref">Instruction Reference</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2843,8 +2894,9 @@ should not be exposed to source languages.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="terminators">Terminator
-Instructions</a> </div>
+<h3>
+ <a name="terminators">Terminator Instructions</a>
+</h3>
<div class="doc_text">
@@ -2867,8 +2919,9 @@ Instructions</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_ret">'<tt>ret</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_ret">'<tt>ret</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -2916,7 +2969,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_br">'<tt>br</tt>' Instruction</a> </div>
+<h4>
+ <a name="i_br">'<tt>br</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -2957,9 +3012,9 @@ IfUnequal:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_switch">'<tt>switch</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3012,9 +3067,9 @@ IfUnequal:
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_indirectbr">'<tt>indirectbr</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3060,9 +3115,9 @@ IfUnequal:
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_invoke">'<tt>invoke</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3150,8 +3205,9 @@ that the invoke/unwind semantics are likely to change in future versions.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_unwind">'<tt>unwind</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_unwind">'<tt>unwind</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3181,8 +3237,9 @@ that the invoke/unwind semantics are likely to change in future versions.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_unreachable">'<tt>unreachable</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_unreachable">'<tt>unreachable</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3203,7 +3260,9 @@ Instruction</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="binaryops">Binary Operations</a> </div>
+<h3>
+ <a name="binaryops">Binary Operations</a>
+</h3>
<div class="doc_text">
@@ -3218,9 +3277,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_add">'<tt>add</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3263,9 +3322,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fadd">'<tt>fadd</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3293,9 +3352,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_sub">'<tt>sub</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3345,9 +3404,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fsub">'<tt>fsub</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3381,9 +3440,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_mul">'<tt>mul</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3431,9 +3490,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fmul">'<tt>fmul</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3461,8 +3520,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_udiv">'<tt>udiv</tt>' Instruction
-</a></div>
+<h4>
+ <a name="i_udiv">'<tt>udiv</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3501,8 +3561,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_sdiv">'<tt>sdiv</tt>' Instruction
-</a> </div>
+<h4>
+ <a name="i_sdiv">'<tt>sdiv</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3543,8 +3604,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_fdiv">'<tt>fdiv</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_fdiv">'<tt>fdiv</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3572,8 +3634,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_urem">'<tt>urem</tt>' Instruction</a>
-</div>
+<h4>
+ <a name="i_urem">'<tt>urem</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3609,9 +3672,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_srem">'<tt>srem</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3660,8 +3723,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="i_frem">'<tt>frem</tt>' Instruction</a> </div>
+<h4>
+ <a name="i_frem">'<tt>frem</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3691,8 +3755,9 @@ Instruction</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="bitwiseops">Bitwise Binary
-Operations</a> </div>
+<h3>
+ <a name="bitwiseops">Bitwise Binary Operations</a>
+</h3>
<div class="doc_text">
@@ -3705,8 +3770,9 @@ Operations</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_shl">'<tt>shl</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_shl">'<tt>shl</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3755,8 +3821,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_lshr">'<tt>lshr</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_lshr">'<tt>lshr</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3801,8 +3868,10 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_ashr">'<tt>ashr</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_ashr">'<tt>ashr</tt>' Instruction</a>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -3846,8 +3915,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_and">'<tt>and</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_and">'<tt>and</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3906,7 +3976,9 @@ Instruction</a> </div>
</pre>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_or">'<tt>or</tt>' Instruction</a> </div>
+<h4>
+ <a name="i_or">'<tt>or</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -3967,8 +4039,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_xor">'<tt>xor</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_xor">'<tt>xor</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -4031,9 +4104,9 @@ Instruction</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="vectorops">Vector Operations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -4047,9 +4120,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_extractelement">'<tt>extractelement</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4083,9 +4156,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_insertelement">'<tt>insertelement</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4119,9 +4192,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_shufflevector">'<tt>shufflevector</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4167,9 +4240,9 @@ Instruction</a> </div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="aggregateops">Aggregate Operations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -4179,9 +4252,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_extractvalue">'<tt>extractvalue</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4221,9 +4294,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_insertvalue">'<tt>insertvalue</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4261,9 +4334,9 @@ Instruction</a> </div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="memoryops">Memory Access and Addressing Operations</a>
-</div>
+</h3>
<div class="doc_text">
@@ -4275,9 +4348,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_alloca">'<tt>alloca</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4326,8 +4399,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_load">'<tt>load</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_load">'<tt>load</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -4384,8 +4458,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"> <a name="i_store">'<tt>store</tt>'
-Instruction</a> </div>
+<h4>
+ <a name="i_store">'<tt>store</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -4445,9 +4520,9 @@ Instruction</a> </div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_getelementptr">'<tt>getelementptr</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4576,8 +4651,9 @@ entry:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="convertops">Conversion Operations</a>
-</div>
+<h3>
+ <a name="convertops">Conversion Operations</a>
+</h3>
<div class="doc_text">
@@ -4588,9 +4664,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_trunc">'<tt>trunc .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4627,9 +4704,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_zext">'<tt>zext .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4666,9 +4744,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_sext">'<tt>sext .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4704,9 +4783,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fptrunc">'<tt>fptrunc .. to</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -4742,9 +4821,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fpext">'<tt>fpext .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4778,9 +4858,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fptoui">'<tt>fptoui .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4815,9 +4896,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_fptosi">'<tt>fptosi .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4853,9 +4935,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_uitofp">'<tt>uitofp .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4889,9 +4972,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_sitofp">'<tt>sitofp .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4924,9 +5008,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_ptrtoint">'<tt>ptrtoint .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4961,9 +5046,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_inttoptr">'<tt>inttoptr .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -4998,9 +5084,10 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_bitcast">'<tt>bitcast .. to</tt>' Instruction</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -5041,7 +5128,9 @@ entry:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="otherops">Other Operations</a> </div>
+<h3>
+ <a name="otherops">Other Operations</a>
+</h3>
<div class="doc_text">
@@ -5051,8 +5140,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="i_icmp">'<tt>icmp</tt>' Instruction</a>
-</div>
+<h4>
+ <a name="i_icmp">'<tt>icmp</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -5153,8 +5243,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a name="i_fcmp">'<tt>fcmp</tt>' Instruction</a>
-</div>
+<h4>
+ <a name="i_fcmp">'<tt>fcmp</tt>' Instruction</a>
+</h4>
<div class="doc_text">
@@ -5273,9 +5364,9 @@ entry:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_phi">'<tt>phi</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5321,9 +5412,9 @@ Loop: ; Infinite loop that counts from 0 on up...
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_select">'<tt>select</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5364,9 +5455,9 @@ Loop: ; Infinite loop that counts from 0 on up...
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_call">'<tt>call</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5473,9 +5564,9 @@ freestanding environments and non-C-based languages.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="i_va_arg">'<tt>va_arg</tt>' Instruction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5519,7 +5610,7 @@ freestanding environments and non-C-based languages.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"> <a name="intrinsics">Intrinsic Functions</a> </div>
+<h2><a name="intrinsics">Intrinsic Functions</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -5568,9 +5659,9 @@ freestanding environments and non-C-based languages.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_varargs">Variable Argument Handling Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -5617,9 +5708,9 @@ declare void @llvm.va_end(i8*)
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_va_start">'<tt>llvm.va_start</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5648,9 +5739,9 @@ declare void @llvm.va_end(i8*)
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_va_end">'<tt>llvm.va_end</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5679,9 +5770,9 @@ declare void @llvm.va_end(i8*)
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_va_copy">'<tt>llvm.va_copy</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5710,9 +5801,9 @@ declare void @llvm.va_end(i8*)
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_gc">Accurate Garbage Collection Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -5732,9 +5823,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_gcroot">'<tt>llvm.gcroot</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5763,9 +5854,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_gcread">'<tt>llvm.gcread</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5795,9 +5886,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_gcwrite">'<tt>llvm.gcwrite</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5827,9 +5918,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_codegen">Code Generator Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -5839,9 +5930,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_returnaddress">'<tt>llvm.returnaddress</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5874,9 +5965,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_frameaddress">'<tt>llvm.frameaddress</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5908,9 +5999,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_stacksave">'<tt>llvm.stacksave</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5938,9 +6029,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_stackrestore">'<tt>llvm.stackrestore</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5963,9 +6054,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_prefetch">'<tt>llvm.prefetch</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -5996,9 +6087,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_pcmarker">'<tt>llvm.pcmarker</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6027,9 +6118,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_readcyclecounter">'<tt>llvm.readcyclecounter</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6054,9 +6145,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_libc">Standard C Library Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6068,9 +6159,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_memcpy">'<tt>llvm.memcpy</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6122,9 +6213,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_memmove">'<tt>llvm.memmove</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6178,9 +6269,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_memset">'<tt>llvm.memset.*</tt>' Intrinsics</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6228,9 +6319,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_sqrt">'<tt>llvm.sqrt.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6266,9 +6357,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_powi">'<tt>llvm.powi.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6302,9 +6393,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_sin">'<tt>llvm.sin.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6336,9 +6427,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_cos">'<tt>llvm.cos.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6370,9 +6461,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_pow">'<tt>llvm.pow.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6405,9 +6496,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_manip">Bit Manipulation Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6417,9 +6508,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_bswap">'<tt>llvm.bswap.*</tt>' Intrinsics</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6452,9 +6543,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_ctpop">'<tt>llvm.ctpop.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6484,9 +6575,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_ctlz">'<tt>llvm.ctlz.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6518,9 +6609,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_cttz">'<tt>llvm.cttz.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -6552,9 +6643,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_overflow">Arithmetic with Overflow Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6563,9 +6654,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_sadd_overflow">'<tt>llvm.sadd.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_sadd_overflow">
+ '<tt>llvm.sadd.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6609,9 +6702,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_uadd_overflow">'<tt>llvm.uadd.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_uadd_overflow">
+ '<tt>llvm.uadd.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6654,9 +6749,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_ssub_overflow">'<tt>llvm.ssub.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_ssub_overflow">
+ '<tt>llvm.ssub.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6700,9 +6797,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_usub_overflow">'<tt>llvm.usub.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_usub_overflow">
+ '<tt>llvm.usub.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6746,9 +6845,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_smul_overflow">'<tt>llvm.smul.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_smul_overflow">
+ '<tt>llvm.smul.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6793,9 +6894,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_umul_overflow">'<tt>llvm.umul.with.overflow.*</tt>' Intrinsics</a>
-</div>
+<h4>
+ <a name="int_umul_overflow">
+ '<tt>llvm.umul.with.overflow.*</tt>' Intrinsics
+ </a>
+</h4>
<div class="doc_text">
@@ -6839,9 +6942,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_fp16">Half Precision Floating Point Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6860,9 +6963,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_convert_to_fp16">'<tt>llvm.convert.to.fp16</tt>' Intrinsic</a>
-</div>
+<h4>
+ <a name="int_convert_to_fp16">
+ '<tt>llvm.convert.to.fp16</tt>' Intrinsic
+ </a>
+</h4>
<div class="doc_text">
@@ -6895,9 +7000,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_convert_from_fp16">'<tt>llvm.convert.from.fp16</tt>' Intrinsic</a>
-</div>
+<h4>
+ <a name="int_convert_from_fp16">
+ '<tt>llvm.convert.from.fp16</tt>' Intrinsic
+ </a>
+</h4>
<div class="doc_text">
@@ -6930,9 +7037,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_debugger">Debugger Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6944,9 +7051,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_eh">Exception Handling Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6958,9 +7065,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_trampoline">Trampoline Intrinsic</a>
-</div>
+</h3>
<div class="doc_text">
@@ -6991,9 +7098,11 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_it">'<tt>llvm.init.trampoline</tt>' Intrinsic</a>
-</div>
+<h4>
+ <a name="int_it">
+ '<tt>llvm.init.trampoline</tt>' Intrinsic
+ </a>
+</h4>
<div class="doc_text">
@@ -7033,9 +7142,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_atomics">Atomic Operations and Synchronization Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -7060,9 +7169,10 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_memory_barrier">'<tt>llvm.memory.barrier</tt>' Intrinsic</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
<pre>
@@ -7131,9 +7241,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_atomic_cmp_swap">'<tt>llvm.atomic.cmp.swap.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7191,9 +7301,10 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_atomic_swap">'<tt>llvm.atomic.swap.*</tt>' Intrinsic</a>
-</div>
+</h4>
+
<div class="doc_text">
<h5>Syntax:</h5>
@@ -7247,10 +7358,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_atomic_load_add">'<tt>llvm.atomic.load.add.*</tt>' Intrinsic</a>
-
-</div>
+</h4>
<div class="doc_text">
@@ -7297,10 +7407,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_atomic_load_sub">'<tt>llvm.atomic.load.sub.*</tt>' Intrinsic</a>
-
-</div>
+</h4>
<div class="doc_text">
@@ -7349,12 +7458,23 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_atomic_load_and">'<tt>llvm.atomic.load.and.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_nand">'<tt>llvm.atomic.load.nand.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_or">'<tt>llvm.atomic.load.or.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_xor">'<tt>llvm.atomic.load.xor.*</tt>' Intrinsic</a><br>
-</div>
+<h4>
+ <a name="int_atomic_load_and">
+ '<tt>llvm.atomic.load.and.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_nand">
+ '<tt>llvm.atomic.load.nand.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_or">
+ '<tt>llvm.atomic.load.or.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_xor">
+ '<tt>llvm.atomic.load.xor.*</tt>' Intrinsic
+ </a>
+</h4>
<div class="doc_text">
@@ -7429,12 +7549,23 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="int_atomic_load_max">'<tt>llvm.atomic.load.max.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_min">'<tt>llvm.atomic.load.min.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_umax">'<tt>llvm.atomic.load.umax.*</tt>' Intrinsic</a><br>
- <a name="int_atomic_load_umin">'<tt>llvm.atomic.load.umin.*</tt>' Intrinsic</a><br>
-</div>
+<h4>
+ <a name="int_atomic_load_max">
+ '<tt>llvm.atomic.load.max.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_min">
+ '<tt>llvm.atomic.load.min.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_umax">
+ '<tt>llvm.atomic.load.umax.*</tt>' Intrinsic
+ </a>
+ <br>
+ <a name="int_atomic_load_umin">
+ '<tt>llvm.atomic.load.umin.*</tt>' Intrinsic
+ </a>
+</h4>
<div class="doc_text">
@@ -7509,9 +7640,9 @@ LLVM</a>.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_memorymarkers">Memory Use Markers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -7521,9 +7652,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_lifetime_start">'<tt>llvm.lifetime.start</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7551,9 +7682,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_lifetime_end">'<tt>llvm.lifetime.end</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7580,9 +7711,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_invariant_start">'<tt>llvm.invariant.start</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7608,9 +7739,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_invariant_end">'<tt>llvm.invariant.end</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7635,9 +7766,9 @@ LLVM</a>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="int_general">General Intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
@@ -7647,9 +7778,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_var_annotation">'<tt>llvm.var.annotation</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7675,9 +7806,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_annotation">'<tt>llvm.annotation.*</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7711,9 +7842,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_trap">'<tt>llvm.trap</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7736,9 +7867,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_stackprotector">'<tt>llvm.stackprotector</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
@@ -7770,9 +7901,9 @@ LLVM</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="int_objectsize">'<tt>llvm.objectsize</tt>' Intrinsic</a>
-</div>
+</h4>
<div class="doc_text">
diff --git a/docs/Lexicon.html b/docs/Lexicon.html
index 682bd08..458da80 100644
--- a/docs/Lexicon.html
+++ b/docs/Lexicon.html
@@ -9,10 +9,10 @@
content="A glossary of terms used with the LLVM project.">
</head>
<body>
-<div class="doc_title">The LLVM Lexicon</div>
+<h1>The LLVM Lexicon</h1>
<p class="doc_warning">NOTE: This document is a work in progress!</p>
<!-- *********************************************************************** -->
-<div class="doc_section">Table Of Contents</div>
+<h2>Table Of Contents</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
<table>
@@ -83,10 +83,10 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">Definitions</div>
+<h2>Definitions</h2>
<!-- *********************************************************************** -->
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="A">- A -</a></div>
+<h3><a name="A">- A -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="ADCE"><b>ADCE</b></a></dt>
@@ -94,7 +94,7 @@
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="B">- B -</a></div>
+<h3><a name="B">- B -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="BURS"><b>BURS</b></a></dt>
@@ -104,7 +104,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="C">- C -</a></div>
+<h3><a name="C">- C -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="CSE"><b>CSE</b></a></dt>
@@ -116,7 +116,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="D">- D -</a></div>
+<h3><a name="D">- D -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="DAG"><b>DAG</b></a></dt>
@@ -136,7 +136,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="G">- G -</a></div>
+<h3><a name="G">- G -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="GC"><b>GC</b></a></dt>
@@ -145,7 +145,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="H">- H -</a></div>
+<h3><a name="H">- H -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="Heap"><b>Heap</b></a></dt>
@@ -154,7 +154,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="I">- I -</a></div>
+<h3><a name="I">- I -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="IPA"><b>IPA</b></a></dt>
@@ -169,7 +169,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="L">- L -</a></div>
+<h3><a name="L">- L -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="LCSSA"><b>LCSSA</b></a></dt>
@@ -183,7 +183,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="M">- M -</a></div>
+<h3><a name="M">- M -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="MC"><b>MC</b></a></dt>
@@ -191,7 +191,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</dl>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="O">- O -</a></div>
+<h3><a name="O">- O -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="Object_Pointer"><b>Object Pointer</b></a></dt>
@@ -202,7 +202,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="P">- P -</a></div>
+<h3><a name="P">- P -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="PRE"><b>PRE</b></a></dt>
@@ -211,7 +211,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="R">- R -</a></div>
+<h3><a name="R">- R -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="RAUW"><b>RAUW</b></a></dt> <dd>An abbreviation for Replace
@@ -234,7 +234,7 @@ href="http://www.program-transformation.org/Transform/BURG">BURG</a> tool.</dd>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="S">- S -</a></div>
+<h3><a name="S">- S -</a></h3>
<div class="doc_text">
<dl>
<dt><a name="Safe_Point"><b>Safe Point</b></a></dt>
diff --git a/docs/LinkTimeOptimization.html b/docs/LinkTimeOptimization.html
index 05011e6..720a5e4 100644
--- a/docs/LinkTimeOptimization.html
+++ b/docs/LinkTimeOptimization.html
@@ -6,9 +6,9 @@
<link rel="stylesheet" href="llvm.css" type="text/css">
</head>
-<div class="doc_title">
+<h1>
LLVM Link Time Optimization: Design and Implementation
-</div>
+</h1>
<ul>
<li><a href="#desc">Description</a></li>
@@ -36,9 +36,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="desc">Description</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -50,9 +50,9 @@ and design between the LTO optimizer and the linker.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="design">Design Philosophy</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -72,9 +72,9 @@ conservative escape analysis.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="example1">Example of link time optimization</a>
-</div>
+</h3>
<div class="doc_text">
<p>The following example illustrates the advantages of LTO's integrated
@@ -145,9 +145,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="alternative_approaches">Alternative Approaches</a>
-</div>
+</h3>
<div class="doc_text">
<dl>
@@ -176,9 +176,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="multiphase">Multi-phase communication between libLTO and linker</a>
-</div>
+</h2>
<div class="doc_text">
<p>The linker collects information about symbol defininitions and uses in
@@ -195,9 +195,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="phase1">Phase 1 : Read LLVM Bitcode Files</a>
-</div>
+</h3>
<div class="doc_text">
<p>The linker first reads all object files in natural order and collects
@@ -219,9 +219,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="phase2">Phase 2 : Symbol Resolution</a>
-</div>
+</h3>
<div class="doc_text">
<p>In this stage, the linker resolves symbols using global symbol table.
@@ -233,9 +233,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="phase3">Phase 3 : Optimize Bitcode Files</a>
-</div>
+</h3>
<div class="doc_text">
<p>After symbol resolution, the linker tells the LTO shared object which
symbols are needed by native object files. In the example above, the linker
@@ -248,9 +248,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="phase4">Phase 4 : Symbol Resolution after optimization</a>
-</div>
+</h3>
<div class="doc_text">
<p>In this phase, the linker reads optimized a native object file and
@@ -265,9 +265,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="lto">libLTO</a>
-</div>
+</h2>
<div class="doc_text">
<p><tt>libLTO</tt> is a shared object that is part of the LLVM tools, and
@@ -281,9 +281,9 @@ $ llvm-gcc a.o main.o -o main # &lt;-- standard link command without any modific
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="lto_module_t">lto_module_t</a>
-</div>
+</h3>
<div class="doc_text">
@@ -325,9 +325,9 @@ lto_module_get_symbol_attribute(lto_module_t, unsigned int)
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="lto_code_gen_t">lto_code_gen_t</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html
index f50e335..a85314a 100644
--- a/docs/MakefileGuide.html
+++ b/docs/MakefileGuide.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">LLVM Makefile Guide</div>
+<h1>LLVM Makefile Guide</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
@@ -77,7 +77,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="introduction">Introduction </a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -99,7 +99,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="general">General Concepts</a></div>
+<h2><a name="general">General Concepts</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -111,7 +111,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="projects">Projects</a></div>
+<h3><a name="projects">Projects</a></h3>
<div class="doc_text">
<p>The LLVM Makefile System is quite generous. It not only builds its own
software, but it can build yours too. Built into the system is knowledge of
@@ -129,7 +129,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="varvalues">Variable Values</a></div>
+<h3><a name="varvalues">Variable Values</a></h3>
<div class="doc_text">
<p>To use the makefile system, you simply create a file named
<tt>Makefile</tt> in your directory and declare values for certain variables.
@@ -139,7 +139,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="including">Including Makefiles</a></div>
+<h3><a name="including">Including Makefiles</a></h3>
<div class="doc_text">
<p>Setting variables alone is not enough. You must include into your Makefile
additional files that provide the rules of the LLVM Makefile system. The
@@ -147,7 +147,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="Makefile">Makefile</a></div>
+<h4><a name="Makefile">Makefile</a></h4>
<div class="doc_text">
<p>Each directory to participate in the build needs to have a file named
<tt>Makefile</tt>. This is the file first read by <tt>make</tt>. It has three
@@ -163,8 +163,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="Makefile.common">Makefile.common</a>
-</div>
+<h4><a name="Makefile.common">Makefile.common</a></h4>
<div class="doc_text">
<p>Every project must have a <tt>Makefile.common</tt> file at its top source
directory. This file serves three purposes:</p>
@@ -182,8 +181,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="Makefile.config">Makefile.config</a>
-</div>
+<h4><a name="Makefile.config">Makefile.config</a></h4>
<div class="doc_text">
<p>Every project must have a <tt>Makefile.config</tt> at the top of its
<em>build</em> directory. This file is <b>generated</b> by the
@@ -196,7 +194,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="Makefile.rules">Makefile.rules</a></div>
+<h4><a name="Makefile.rules">Makefile.rules</a></h4>
<div class="doc_text">
<p>This file, located at <tt>$(LLVM_SRC_ROOT)/Makefile.rules</tt> is the heart
of the LLVM Makefile System. It provides all the logic, dependencies, and
@@ -206,7 +204,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="Comments">Comments</a></div>
+<h3><a name="Comments">Comments</a></h3>
<div class="doc_text">
<p>User Makefiles need not have comments in them unless the construction is
unusual or it does not strictly follow the rules and patterns of the LLVM
@@ -216,7 +214,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="tutorial">Tutorial</a></div>
+<h2><a name="tutorial">Tutorial</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
<p>This section provides some examples of the different kinds of modules you
@@ -226,7 +224,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="libraries">Libraries</a></div>
+<h3><a name="libraries">Libraries</a></h3>
<div class="doc_text">
<p>Only a few variable definitions are needed to build a regular library.
Normally, the makefile system will build all the software into a single
@@ -259,7 +257,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="BCModules">Bitcode Modules</a></div>
+<h4><a name="BCModules">Bitcode Modules</a></h4>
<div class="doc_text">
<p>In some situations, it is desirable to build a single bitcode module from
a variety of sources, instead of an archive, shared library, or bitcode
@@ -280,9 +278,9 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="LoadableModules">Loadable Modules</a>
-</div>
+</h4>
<div class="doc_text">
<p>In some situations, you need to create a loadable module. Loadable modules
can be loaded into programs like <tt>opt</tt> or <tt>llc</tt> to specify
@@ -312,7 +310,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="tools">Tools</a></div>
+<h3><a name="tools">Tools</a></h3>
<div class="doc_text">
<p>For building executable programs (tools), you must provide the name of the
tool and the names of the libraries you wish to link with the tool. For
@@ -347,7 +345,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="JIT">JIT Tools</a></div>
+<h4><a name="JIT">JIT Tools</a></h4>
<div class="doc_text">
<p>Many tools will want to use the JIT features of LLVM. To do this, you
simply specify that you want an execution 'engine', and the makefiles will
@@ -368,7 +366,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="targets">Targets Supported</a></div>
+<h2><a name="targets">Targets Supported</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -429,7 +427,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="all">all (default)</a></div>
+<h3><a name="all">all (default)</a></h3>
<div class="doc_text">
<p>When you invoke <tt>make</tt> with no arguments, you are implicitly
instructing it to seek the "all" target (goal). This target is used for
@@ -440,14 +438,14 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="all-local">all-local</a></div>
+<h3><a name="all-local">all-local</a></h3>
<div class="doc_text">
<p>This target is the same as <a href="#all">all</a> but it operates only on
the current directory instead of recursively.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="check">check</a></div>
+<h3><a name="check">check</a></h3>
<div class="doc_text">
<p>This target can be invoked from anywhere within a project's directories
but always invokes the <a href="#check-local"><tt>check-local</tt></a> target
@@ -464,7 +462,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="check-local">check-local</a></div>
+<h3><a name="check-local">check-local</a></h3>
<div class="doc_text">
<p>This target should be implemented by the <tt>Makefile</tt> in the project's
<tt>test</tt> directory. It is invoked by the <tt>check</tt> target elsewhere.
@@ -475,7 +473,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="clean">clean</a></div>
+<h3><a name="clean">clean</a></h3>
<div class="doc_text">
<p>This target cleans the build directory, recursively removing all things
that the Makefile builds. The cleaning rules have been made guarded so they
@@ -484,14 +482,14 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="clean-local">clean-local</a></div>
+<h3><a name="clean-local">clean-local</a></h3>
<div class="doc_text">
<p>This target does the same thing as <tt>clean</tt> but only for the current
(local) directory.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="dist">dist</a></div>
+<h3><a name="dist">dist</a></h3>
<div class="doc_text">
<p>This target builds a distribution tarball. It first builds the entire
project using the <tt>all</tt> target and then tars up the necessary files and
@@ -500,7 +498,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="dist-check">dist-check</a></div>
+<h3><a name="dist-check">dist-check</a></h3>
<div class="doc_text">
<p>This target does the same thing as the <tt>dist</tt> target but also checks
the distribution tarball. The check is made by unpacking the tarball to a new
@@ -512,7 +510,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="dist-clean">dist-clean</a></div>
+<h3><a name="dist-clean">dist-clean</a></h3>
<div class="doc_text">
<p>This is a special form of the <tt>clean</tt> clean target. It performs a
normal <tt>clean</tt> but also removes things pertaining to building the
@@ -520,7 +518,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="install">install</a></div>
+<h3><a name="install">install</a></h3>
<div class="doc_text">
<p>This target finalizes shared objects and executables and copies all
libraries, headers, executables and documentation to the directory given
@@ -538,7 +536,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="preconditions">preconditions</a></div>
+<h3><a name="preconditions">preconditions</a></h3>
<div class="doc_text">
<p>This utility target checks to see if the <tt>Makefile</tt> in the object
directory is older than the <tt>Makefile</tt> in the source directory and
@@ -549,14 +547,14 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="printvars">printvars</a></div>
+<h3><a name="printvars">printvars</a></h3>
<div class="doc_text">
<p>This utility target just causes the LLVM makefiles to print out some of
the makefile variables so that you can double check how things are set. </p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="reconfigure">reconfigure</a></div>
+<h3><a name="reconfigure">reconfigure</a></h3>
<div class="doc_text">
<p>This utility target will force a reconfigure of LLVM or your project. It
simply runs <tt>$(PROJ_OBJ_ROOT)/config.status --recheck</tt> to rerun the
@@ -566,7 +564,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="spotless">spotless</a></div>
+<h3><a name="spotless">spotless</a></h3>
<div class="doc_text">
<p>This utility target, only available when <tt>$(PROJ_OBJ_ROOT)</tt> is not
the same as <tt>$(PROJ_SRC_ROOT)</tt>, will completely clean the
@@ -578,7 +576,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="tags">tags</a></div>
+<h3><a name="tags">tags</a></h3>
<div class="doc_text">
<p>This target will generate a <tt>TAGS</tt> file in the top-level source
directory. It is meant for use with emacs, XEmacs, or ViM. The TAGS file
@@ -587,7 +585,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="uninstall">uninstall</a></div>
+<h3><a name="uninstall">uninstall</a></h3>
<div class="doc_text">
<p>This target is the opposite of the <tt>install</tt> target. It removes the
header, library and executable files from the installation directories. Note
@@ -596,7 +594,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="variables">Variables</a></div>
+<h2><a name="variables">Variables</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
<p>Variables are used to tell the LLVM Makefile System what to do and to
@@ -609,7 +607,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="setvars">Control Variables</a></div>
+<h3><a name="setvars">Control Variables</a></h3>
<div class="doc_text">
<p>Variables listed in the table below should be set <em>before</em> the
inclusion of <a href="#Makefile.common"><tt>$(LEVEL)/Makefile.common</tt></a>.
@@ -762,7 +760,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="overvars">Override Variables</a></div>
+<h3><a name="overvars">Override Variables</a></h3>
<div class="doc_text">
<p>Override variables can be used to override the default
values provided by the LLVM makefile system. These variables can be set in
@@ -868,7 +866,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="getvars">Readable Variables</a></div>
+<h3><a name="getvars">Readable Variables</a></h3>
<div class="doc_text">
<p>Variables listed in the table below can be used by the user's Makefile but
should not be changed. Changing the value will generally cause the build to go
@@ -939,7 +937,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="intvars">Internal Variables</a></div>
+<h3><a name="intvars">Internal Variables</a></h3>
<div class="doc_text">
<p>Variables listed below are used by the LLVM Makefile System
and considered internal. You should not use these variables under any
diff --git a/docs/Packaging.html b/docs/Packaging.html
index 3376bbc..86d6ca1 100644
--- a/docs/Packaging.html
+++ b/docs/Packaging.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">Advice on Packaging LLVM</div>
+<h1>Advice on Packaging LLVM</h1>
<ol>
<li><a href="#overview">Overview</a></li>
<li><a href="#compilation">Compile Flags</a></li>
@@ -17,7 +17,7 @@
</ol>
<!--=========================================================================-->
-<div class="doc_section"><a name="overview">Overview</a></div>
+<h2><a name="overview">Overview</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -34,7 +34,7 @@ developed against each.
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="compilation">Compile Flags</a></div>
+<h2><a name="compilation">Compile Flags</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -65,7 +65,7 @@ versions of LLVM in parallel. The following configure flags are relevant:
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="cxx-features">C++ Features</a></div>
+<h2><a name="cxx-features">C++ Features</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -78,7 +78,7 @@ versions of LLVM in parallel. The following configure flags are relevant:
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="shared-library">Shared Library</a></div>
+<h2><a name="shared-library">Shared Library</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -89,7 +89,7 @@ against it. This saves lots of binary size at the cost of some startup time.
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="deps">Dependencies</a></div>
+<h2><a name="deps">Dependencies</a></h2>
<!--=========================================================================-->
<div class="doc_text">
diff --git a/docs/Passes.html b/docs/Passes.html
index 9a5ad91..8b99337 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+32;10;2c<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
@@ -40,7 +40,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
-->
-<div class="doc_title">LLVM's Analysis and Transform Passes</div>
+<h1>LLVM's Analysis and Transform Passes</h1>
<ol>
<li><a href="#intro">Introduction</a></li>
@@ -55,7 +55,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-- ======================================================================= -->
-<div class="doc_section"> <a name="intro">Introduction</a> </div>
+<h2><a name="intro">Introduction</a></h2>
<div class="doc_text">
<p>This document serves as a high level summary of the optimization features
that LLVM provides. Optimizations are implemented as Passes that traverse some
@@ -204,15 +204,15 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-- ======================================================================= -->
-<div class="doc_section"> <a name="analyses">Analysis Passes</a></div>
+<h2><a name="analyses">Analysis Passes</a></h2>
<div class="doc_text">
<p>This section describes the LLVM Analysis Passes.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="aa-eval">-aa-eval: Exhaustive Alias Analysis Precision Evaluator</a>
-</div>
+</h3>
<div class="doc_text">
<p>This is a simple N^2 alias analysis accuracy evaluator.
Basically, for each function in the program, it simply queries to see how the
@@ -224,9 +224,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="basicaa">-basicaa: Basic Alias Analysis (stateless AA impl)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This is the default implementation of the Alias Analysis interface
@@ -236,17 +236,17 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="basiccg">-basiccg: Basic CallGraph Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>Yet to be written.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="count-aa">-count-aa: Count Alias Analysis Query Responses</a>
-</div>
+</h3>
<div class="doc_text">
<p>
A pass which can be used to count how many alias queries
@@ -255,9 +255,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="debug-aa">-debug-aa: AA use debugger</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This simple pass checks alias analysis users to ensure that if they
@@ -272,9 +272,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="domfrontier">-domfrontier: Dominance Frontier Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is a simple dominator construction algorithm for finding forward
@@ -283,9 +283,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="domtree">-domtree: Dominator Tree Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is a simple dominator construction algorithm for finding forward
@@ -294,9 +294,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-callgraph">-dot-callgraph: Print Call Graph to 'dot' file</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the call graph into a
@@ -306,9 +306,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-cfg">-dot-cfg: Print CFG of function to 'dot' file</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the control flow graph
@@ -318,9 +318,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-cfg-only">-dot-cfg-only: Print CFG of function to 'dot' file (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the control flow graph
@@ -331,9 +331,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-dom">-dot-dom: Print dominance tree of function to 'dot' file</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the dominator tree
@@ -343,9 +343,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-dom-only">-dot-dom-only: Print dominance tree of function to 'dot' file (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the dominator tree
@@ -356,9 +356,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-postdom">-dot-postdom: Print postdominance tree of function to 'dot' file</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the post dominator tree
@@ -368,9 +368,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dot-postdom-only">-dot-postdom-only: Print postdominance tree of function to 'dot' file (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the post dominator tree
@@ -381,9 +381,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="globalsmodref-aa">-globalsmodref-aa: Simple mod/ref analysis for globals</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This simple pass provides alias and mod/ref information for global values
@@ -394,9 +394,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="instcount">-instcount: Counts the various types of Instructions</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass collects the count of all instructions and reports them
@@ -404,9 +404,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="intervals">-intervals: Interval Partition Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This analysis calculates and represents the interval partition of a function,
@@ -420,43 +420,43 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="iv-users">-iv-users: Induction Variable Users</a>
-</div>
+</h3>
<div class="doc_text">
<p>Bookkeeping for "interesting" users of expressions computed from
induction variables.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lazy-value-info">-lazy-value-info: Lazy Value Information Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>Interface for lazy computation of value constraint information.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lda">-lda: Loop Dependence Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>Loop dependence analysis framework, which is used to detect dependences in
memory accesses in loops.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="libcall-aa">-libcall-aa: LibCall Alias Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>LibCall Alias Analysis.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lint">-lint: Statically lint-checks LLVM IR</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass statically checks for common and easily-identified constructs
which produce undefined or likely unintended behavior in LLVM IR.</p>
@@ -485,9 +485,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loops">-loops: Natural Loop Information</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This analysis is used to identify natural loops and determine the loop depth
@@ -498,9 +498,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="memdep">-memdep: Memory Dependence Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>
An analysis that determines, for a given memory operation, what preceding
@@ -511,9 +511,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="module-debuginfo">-module-debuginfo: Decodes module-level debug info</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass decodes the debug info metadata in a module and prints in a
(sufficiently-prepared-) human-readable form.
@@ -524,9 +524,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="no-aa">-no-aa: No Alias Analysis (always returns 'may' alias)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Always returns "I don't know" for alias queries. NoAA is unlike other alias
@@ -536,9 +536,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="no-profile">-no-profile: No Profile Information</a>
-</div>
+</h3>
<div class="doc_text">
<p>
The default "no profile" implementation of the abstract
@@ -547,9 +547,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="postdomfrontier">-postdomfrontier: Post-Dominance Frontier Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is a simple post-dominator construction algorithm for finding
@@ -558,9 +558,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="postdomtree">-postdomtree: Post-Dominator Tree Construction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is a simple post-dominator construction algorithm for finding
@@ -569,17 +569,17 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-alias-sets">-print-alias-sets: Alias Set Printer</a>
-</div>
+</h3>
<div class="doc_text">
<p>Yet to be written.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-callgraph">-print-callgraph: Print a call graph</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the call graph to
@@ -588,9 +588,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-callgraph-sccs">-print-callgraph-sccs: Print SCCs of the Call Graph</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the SCCs of the call
@@ -599,9 +599,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-cfg-sccs">-print-cfg-sccs: Print SCCs of each function CFG</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints the SCCs of each
@@ -610,9 +610,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-dbginfo">-print-dbginfo: Print debug info in human readable form</a>
-</div>
+</h3>
<div class="doc_text">
<p>Pass that prints instructions, and associated debug info:</p>
<ul>
@@ -624,17 +624,17 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-dom-info">-print-dom-info: Dominator Info Printer</a>
-</div>
+</h3>
<div class="doc_text">
<p>Dominator Info Printer.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-externalfnconstants">-print-externalfnconstants: Print external fn callsites passed constants</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass, only available in <code>opt</code>, prints out call sites to
@@ -645,9 +645,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-function">-print-function: Print function to stderr</a>
-</div>
+</h3>
<div class="doc_text">
<p>
The <code>PrintFunctionPass</code> class is designed to be pipelined with
@@ -657,9 +657,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-module">-print-module: Print module to stderr</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass simply prints out the entire module when it is executed.
@@ -667,9 +667,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="print-used-types">-print-used-types: Find Used Types</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is used to seek out all of the types in use by the program. Note
@@ -678,9 +678,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="profile-estimator">-profile-estimator: Estimate profiling information</a>
-</div>
+</h3>
<div class="doc_text">
<p>Profiling information that estimates the profiling information
in a very crude and unimaginative way.
@@ -688,9 +688,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="profile-loader">-profile-loader: Load profile information from llvmprof.out</a>
-</div>
+</h3>
<div class="doc_text">
<p>
A concrete implementation of profiling information that loads the information
@@ -699,15 +699,15 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="profile-verifier">-profile-verifier: Verify profiling information</a>
-</div>
+</h3>
<div class="doc_text">
<p>Pass that checks profiling information for plausibility.</p>
</div>
-<div class="doc_subsection">
+<h3>
<a name="regions">-regions: Detect single entry single exit regions</a>
-</div>
+</h3>
<div class="doc_text">
<p>
The <code>RegionInfo</code> pass detects single entry single exit regions in a
@@ -718,9 +718,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="scalar-evolution">-scalar-evolution: Scalar Evolution Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>
The <code>ScalarEvolution</code> analysis can be used to analyze and
@@ -737,9 +737,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="scev-aa">-scev-aa: ScalarEvolution-based Alias Analysis</a>
-</div>
+</h3>
<div class="doc_text">
<p>Simple alias analysis implemented in terms of ScalarEvolution queries.
@@ -753,24 +753,24 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="targetdata">-targetdata: Target Data Layout</a>
-</div>
+</h3>
<div class="doc_text">
<p>Provides other passes access to information on how the size and alignment
required by the the target ABI for various data types.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_section"> <a name="transforms">Transform Passes</a></div>
+<h2><a name="transforms">Transform Passes</a></h2>
<div class="doc_text">
<p>This section describes the LLVM Transform Passes.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="adce">-adce: Aggressive Dead Code Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>ADCE aggressively tries to eliminate code. This pass is similar to
<a href="#dce">DCE</a> but it assumes that values are dead until proven
@@ -779,18 +779,18 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="always-inline">-always-inline: Inliner for always_inline functions</a>
-</div>
+</h3>
<div class="doc_text">
<p>A custom inliner that handles only functions that are marked as
"always inline".</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="argpromotion">-argpromotion: Promote 'by reference' arguments to scalars</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass promotes "by reference" arguments to be "by value" arguments. In
@@ -819,9 +819,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="block-placement">-block-placement: Profile Guided Basic Block Placement</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass is a very simple profile guided basic block placement algorithm.
The idea is to put frequently executed blocks together at the start of the
@@ -831,9 +831,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="break-crit-edges">-break-crit-edges: Break critical edges in CFG</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Break all of the critical edges in the CFG by inserting a dummy basic block.
@@ -844,9 +844,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="codegenprepare">-codegenprepare: Optimize for code generation</a>
-</div>
+</h3>
<div class="doc_text">
This pass munges the code in the input function to better prepare it for
SelectionDAG-based code generation. This works around limitations in it's
@@ -854,9 +854,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="constmerge">-constmerge: Merge Duplicate Global Constants</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Merges duplicate global constants together into a single constant that is
@@ -867,9 +867,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="constprop">-constprop: Simple constant propagation</a>
-</div>
+</h3>
<div class="doc_text">
<p>This file implements constant propagation and merging. It looks for
instructions involving only constant operands and replaces them with a
@@ -883,9 +883,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dce">-dce: Dead Code Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Dead code elimination is similar to <a href="#die">dead instruction
@@ -895,9 +895,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="deadargelim">-deadargelim: Dead Argument Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass deletes dead arguments from internal functions. Dead argument
@@ -913,9 +913,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="deadtypeelim">-deadtypeelim: Dead Type Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is used to cleanup the output of GCC. It eliminate names for types
@@ -925,9 +925,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="die">-die: Dead Instruction Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Dead instruction elimination performs a single pass over the function,
@@ -936,9 +936,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="dse">-dse: Dead Store Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
A trivial dead store elimination that only considers basic-block local
@@ -947,9 +947,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="functionattrs">-functionattrs: Deduce function attributes</a>
-</div>
+</h3>
<div class="doc_text">
<p>A simple interprocedural pass which walks the call-graph, looking for
functions which do not access or only read non-local memory, and marking them
@@ -962,9 +962,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="globaldce">-globaldce: Dead Global Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This transform is designed to eliminate unreachable internal globals from the
@@ -976,9 +976,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="globalopt">-globalopt: Global Variable Optimizer</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass transforms simple global variables that never have their address
@@ -988,9 +988,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="gvn">-gvn: Global Value Numbering</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs global value numbering to eliminate fully and partially
@@ -999,9 +999,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="indvars">-indvars: Canonicalize Induction Variables</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This transformation analyzes and transforms the induction variables (and
@@ -1050,9 +1050,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="inline">-inline: Function Integration/Inlining</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Bottom-up inlining of functions into callees.
@@ -1060,9 +1060,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="insert-edge-profiling">-insert-edge-profiling: Insert instrumentation for edge profiling</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass instruments the specified program with counters for edge profiling.
@@ -1078,9 +1078,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="insert-optimal-edge-profiling">-insert-optimal-edge-profiling: Insert optimal instrumentation for edge profiling</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass instruments the specified program with counters for edge profiling.
Edge profiling can give a reasonable approximation of the hot paths through a
@@ -1089,9 +1089,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="instcombine">-instcombine: Combine redundant instructions</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Combine instructions to form fewer, simple
@@ -1143,9 +1143,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="internalize">-internalize: Internalize Global Symbols</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass loops over all of the functions in the input module, looking for a
@@ -1155,9 +1155,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="ipconstprop">-ipconstprop: Interprocedural constant propagation</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass implements an <em>extremely</em> simple interprocedural constant
@@ -1169,9 +1169,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="ipsccp">-ipsccp: Interprocedural Sparse Conditional Constant Propagation</a>
-</div>
+</h3>
<div class="doc_text">
<p>
An interprocedural variant of <a href="#sccp">Sparse Conditional Constant
@@ -1180,9 +1180,9 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="jump-threading">-jump-threading: Jump Threading</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Jump threading tries to find distinct threads of control flow running through
@@ -1209,9 +1209,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lcssa">-lcssa: Loop-Closed SSA Form Pass</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass transforms loops by placing phi nodes at the end of the loops for
@@ -1238,9 +1238,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="licm">-licm: Loop Invariant Code Motion</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs loop invariant code motion, attempting to remove as much
@@ -1275,9 +1275,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-deletion">-loop-deletion: Delete dead loops</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This file implements the Dead Loop Deletion Pass. This pass is responsible
@@ -1288,9 +1288,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-extract">-loop-extract: Extract loops into new functions</a>
-</div>
+</h3>
<div class="doc_text">
<p>
A pass wrapper around the <code>ExtractLoop()</code> scalar transformation to
@@ -1301,9 +1301,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-extract-single">-loop-extract-single: Extract at most one loop into a new function</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Similar to <a href="#loop-extract">Extract loops into new functions</a>,
@@ -1313,9 +1313,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-reduce">-loop-reduce: Loop Strength Reduction</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs a strength reduction on array references inside loops that
@@ -1327,17 +1327,17 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-rotate">-loop-rotate: Rotate Loops</a>
-</div>
+</h3>
<div class="doc_text">
<p>A simple loop rotation transformation.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-simplify">-loop-simplify: Canonicalize natural loops</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs several transformations to transform natural loops into a
@@ -1376,9 +1376,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-unroll">-loop-unroll: Unroll loops</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass implements a simple loop unroller. It works best when loops have
@@ -1388,9 +1388,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loop-unswitch">-loop-unswitch: Unswitch loops</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass transforms loops that contain branches on loop-invariant conditions
@@ -1418,9 +1418,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="loweratomic">-loweratomic: Lower atomic intrinsics to non-atomic form</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass lowers atomic intrinsics to non-atomic form for use in a known
@@ -1436,9 +1436,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lowerinvoke">-lowerinvoke: Lower invoke and unwind, for unwindless code generators</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This transformation is designed for use by code generators which do not yet
@@ -1477,9 +1477,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lowersetjmp">-lowersetjmp: Lower Set Jump</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Lowers <tt>setjmp</tt> and <tt>longjmp</tt> to use the LLVM invoke and unwind
@@ -1506,9 +1506,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="lowerswitch">-lowerswitch: Lower SwitchInst's to branches</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Rewrites <tt>switch</tt> instructions with a sequence of branches, which
@@ -1518,9 +1518,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="mem2reg">-mem2reg: Promote Memory to Register</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This file promotes memory references to be register references. It promotes
@@ -1534,9 +1534,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="memcpyopt">-memcpyopt: MemCpy Optimization</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs various transformations related to eliminating memcpy
@@ -1545,9 +1545,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="mergefunc">-mergefunc: Merge Functions</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass looks for equivalent functions that are mergable and folds them.
@@ -1566,9 +1566,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="mergereturn">-mergereturn: Unify function exit nodes</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Ensure that functions have at most one <tt>ret</tt> instruction in them.
@@ -1577,9 +1577,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="partial-inliner">-partial-inliner: Partial Inliner</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass performs partial inlining, typically by inlining an if
statement that surrounds the body of the function.
@@ -1587,9 +1587,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="prune-eh">-prune-eh: Remove unused exception handling info</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This file implements a simple interprocedural pass which walks the call-graph,
@@ -1600,9 +1600,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="reassociate">-reassociate: Reassociate expressions</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass reassociates commutative expressions in an order that is designed
@@ -1623,9 +1623,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="reg2mem">-reg2mem: Demote all values to stack slots</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This file demotes all registers to memory references. It is intented to be
@@ -1640,9 +1640,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="scalarrepl">-scalarrepl: Scalar Replacement of Aggregates (DT)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
The well-known scalar replacement of aggregates transformation. This
@@ -1662,9 +1662,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="sccp">-sccp: Sparse Conditional Constant Propagation</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Sparse conditional constant propagation and merging, which can be summarized
@@ -1685,9 +1685,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="simplify-libcalls">-simplify-libcalls: Simplify well-known library calls</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Applies a variety of small optimizations for calls to specific well-known
@@ -1698,9 +1698,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="simplifycfg">-simplifycfg: Simplify the CFG</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Performs dead code elimination and basic block merging. Specifically:
@@ -1717,9 +1717,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="sink">-sink: Code sinking</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass moves instructions into successor blocks, when possible, so that
they aren't executed on paths where their results aren't needed.
@@ -1727,9 +1727,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="sretpromotion">-sretpromotion: Promote sret arguments to multiple ret values</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass finds functions that return a struct (using a pointer to the struct
@@ -1750,9 +1750,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="strip">-strip: Strip all symbols from a module</a>
-</div>
+</h3>
<div class="doc_text">
<p>
performs code stripping. this transformation can delete:
@@ -1772,9 +1772,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="strip-dead-debug-info">-strip-dead-debug-info: Strip debug info for unused symbols</a>
-</div>
+</h3>
<div class="doc_text">
<p>
performs code stripping. this transformation can delete:
@@ -1794,9 +1794,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="strip-dead-prototypes">-strip-dead-prototypes: Strip Unused Function Prototypes</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass loops over all of the functions in the input module, looking for
@@ -1807,9 +1807,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="strip-debug-declare">-strip-debug-declare: Strip all llvm.dbg.declare intrinsics</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass implements code stripping. Specifically, it can delete:</p>
<ul>
@@ -1825,9 +1825,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="strip-nondebug">-strip-nondebug: Strip all symbols, except dbg symbols, from a module</a>
-</div>
+</h3>
<div class="doc_text">
<p>This pass implements code stripping. Specifically, it can delete:</p>
<ul>
@@ -1843,9 +1843,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="tailcallelim">-tailcallelim: Tail Call Elimination</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This file transforms calls of the current function (self recursion) followed
@@ -1875,9 +1875,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="tailduplicate">-tailduplicate: Tail Duplication</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass performs a limited form of tail duplication, intended to simplify
@@ -1889,15 +1889,15 @@ if (X &lt; 3) {</pre>
</div>
<!-- ======================================================================= -->
-<div class="doc_section"> <a name="utilities">Utility Passes</a></div>
+<h2><a name="utilities">Utility Passes</a></h2>
<div class="doc_text">
<p>This section describes the LLVM Utility Passes.</p>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="deadarghaX0r">-deadarghaX0r: Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Same as dead argument elimination, but deletes arguments to functions which
@@ -1906,9 +1906,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="extract-blocks">-extract-blocks: Extract Basic Blocks From Module (for bugpoint use)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
This pass is used by bugpoint to extract all blocks from the module into their
@@ -1916,9 +1916,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="instnamer">-instnamer: Assign names to anonymous instructions</a>
-</div>
+</h3>
<div class="doc_text">
<p>This is a little utility pass that gives instructions names, this is mostly
useful when diffing the effect of an optimization because deleting an
@@ -1928,9 +1928,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="preverify">-preverify: Preliminary module verification</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Ensures that the module is in the form required by the <a
@@ -1944,9 +1944,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="verify">-verify: Module Verifier</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Verifies an LLVM IR code. This is useful to run after an optimization which is
@@ -1995,9 +1995,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-cfg">-view-cfg: View CFG of function</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the control flow graph using the GraphViz tool.
@@ -2005,9 +2005,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-cfg-only">-view-cfg-only: View CFG of function (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the control flow graph using the GraphViz tool, but omitting function
@@ -2016,9 +2016,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-dom">-view-dom: View dominance tree of function</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the dominator tree using the GraphViz tool.
@@ -2026,9 +2026,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-dom-only">-view-dom-only: View dominance tree of function (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the dominator tree using the GraphViz tool, but omitting function
@@ -2037,9 +2037,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-postdom">-view-postdom: View postdominance tree of function</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the post dominator tree using the GraphViz tool.
@@ -2047,9 +2047,9 @@ if (X &lt; 3) {</pre>
</div>
<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
+<h3>
<a name="view-postdom-only">-view-postdom-only: View postdominance tree of function (with no function bodies)</a>
-</div>
+</h3>
<div class="doc_text">
<p>
Displays the post dominator tree using the GraphViz tool, but omitting
diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html
index e3f2a7a..b29c582 100644
--- a/docs/ProgrammersManual.html
+++ b/docs/ProgrammersManual.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM Programmer's Manual
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction</a></li>
@@ -210,9 +210,9 @@ with another <tt>Value</tt></a> </li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction </a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -242,9 +242,9 @@ href="/doxygen/InstVisitor_8h-source.html">InstVisitor</a></tt> template.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="general">General Information</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -255,9 +255,9 @@ in the LLVM source-base, but that isn't specific to any particular API.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="stl">The C++ Standard Template Library</a>
-</div>
+</h3>
<div class="doc_text">
@@ -305,9 +305,9 @@ to write maintainable code more than where to put your curly braces.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="stl">Other useful references</a>
-</div>
+</h3>
<div class="doc_text">
@@ -319,9 +319,9 @@ static and shared libraries across platforms</a></li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="apis">Important and useful LLVM APIs</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -332,10 +332,10 @@ know about when writing transformations.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="isa">The <tt>isa&lt;&gt;</tt>, <tt>cast&lt;&gt;</tt> and
<tt>dyn_cast&lt;&gt;</tt> templates</a>
-</div>
+</h3>
<div class="doc_text">
@@ -442,10 +442,10 @@ are lots of examples in the LLVM source base.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="string_apis">Passing strings (the <tt>StringRef</tt>
and <tt>Twine</tt> classes)</a>
-</div>
+</h3>
<div class="doc_text">
@@ -464,9 +464,9 @@ passing strings efficiently.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="StringRef">The <tt>StringRef</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -504,9 +504,9 @@ small and pervasive enough in LLVM that it should always be passed by value.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="Twine">The <tt>Twine</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -541,9 +541,9 @@ accept concatenated strings.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="DEBUG">The <tt>DEBUG()</tt> macro and <tt>-debug</tt> option</a>
-</div>
+</h3>
<div class="doc_text">
@@ -594,10 +594,10 @@ program hasn't been started yet, you can always just run it with
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="DEBUG_TYPE">Fine grained debug info with <tt>DEBUG_TYPE</tt> and
the <tt>-debug-only</tt> option</a>
-</div>
+</h4>
<div class="doc_text">
@@ -668,10 +668,10 @@ DEBUG_WITH_TYPE("", errs() &lt;&lt; "No debug type (2)\n");
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Statistic">The <tt>Statistic</tt> class &amp; <tt>-stats</tt>
option</a>
-</div>
+</h3>
<div class="doc_text">
@@ -768,9 +768,9 @@ maintainable and useful.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ViewGraph">Viewing graphs while debugging code</a>
-</div>
+</h3>
<div class="doc_text">
@@ -817,9 +817,9 @@ attributes, then you can <tt>call DAG.clearGraphAttrs()</tt>. </p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="datastructure">Picking the Right Data Structure for a Task</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -881,9 +881,9 @@ cost of adding the elements to the container. </p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ds_sequential">Sequential Containers (std::vector, std::list, etc)</a>
-</div>
+</h3>
<div class="doc_text">
There are a variety of sequential containers available for you, based on your
@@ -891,9 +891,9 @@ needs. Pick the first in this section that will do what you want.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_arrayref">llvm/ADT/ArrayRef.h</a>
-</div>
+</h4>
<div class="doc_text">
<p>The llvm::ArrayRef class is the preferred class to use in an interface that
@@ -906,9 +906,9 @@ needs. Pick the first in this section that will do what you want.
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_fixedarrays">Fixed Size Arrays</a>
-</div>
+</h4>
<div class="doc_text">
<p>Fixed size arrays are very simple and very fast. They are good if you know
@@ -917,9 +917,9 @@ you have.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_heaparrays">Heap Allocated Arrays</a>
-</div>
+</h4>
<div class="doc_text">
<p>Heap allocated arrays (new[] + delete[]) are also simple. They are good if
@@ -933,9 +933,9 @@ construct those elements actually used).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_smallvector">"llvm/ADT/SmallVector.h"</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>SmallVector&lt;Type, N&gt;</tt> is a simple class that looks and smells
@@ -962,9 +962,9 @@ SmallVectors are most useful when on the stack.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_vector">&lt;vector&gt;</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -1004,9 +1004,9 @@ the loop.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_deque">&lt;deque&gt;</a>
-</div>
+</h4>
<div class="doc_text">
<p>std::deque is, in some senses, a generalized version of std::vector. Like
@@ -1020,9 +1020,9 @@ something cheaper.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_list">&lt;list&gt;</a>
-</div>
+</h4>
<div class="doc_text">
<p>std::list is an extremely inefficient class that is rarely useful.
@@ -1038,9 +1038,9 @@ not invalidate iterator or pointers to other elements in the list.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_ilist">llvm/ADT/ilist.h</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>ilist&lt;T&gt;</tt> implements an 'intrusive' doubly-linked list. It is
@@ -1068,9 +1068,9 @@ Related classes of interest are explained in the following subsections:
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_ilist_traits">ilist_traits</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>ilist_traits&lt;T&gt;</tt> is <tt>ilist&lt;T&gt;</tt>'s customization
@@ -1079,9 +1079,9 @@ publicly derive from this traits class.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_iplist">iplist</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>iplist&lt;T&gt;</tt> is <tt>ilist&lt;T&gt;</tt>'s base and as such
@@ -1093,9 +1093,9 @@ used for a wide variety of customizations.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_ilist_node">llvm/ADT/ilist_node.h</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>ilist_node&lt;T&gt;</tt> implements a the forward and backward links
@@ -1108,9 +1108,9 @@ in the default manner.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_ilist_sentinel">Sentinels</a>
-</div>
+</h4>
<div class="doc_text">
<p><tt>ilist</tt>s have another specialty that must be considered. To be a good
@@ -1146,9 +1146,9 @@ field in the ghostly sentinel which can be legally accessed.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_other">Other Sequential Container options</a>
-</div>
+</h4>
<div class="doc_text">
<p>Other STL containers are available, such as std::string.</p>
@@ -1161,9 +1161,9 @@ underlying container but don't affect the cost of the container itself.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ds_set">Set-Like Containers (std::set, SmallSet, SetVector, etc)</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1175,9 +1175,9 @@ this, providing various trade-offs.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_sortedvectorset">A sorted 'vector'</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1197,9 +1197,9 @@ efficiently queried with a standard binary or radix search.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_smallset">"llvm/ADT/SmallSet.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1220,9 +1220,9 @@ and erasing, but does not support iteration.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_smallptrset">"llvm/ADT/SmallPtrSet.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1240,9 +1240,9 @@ visited in sorted order.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_denseset">"llvm/ADT/DenseSet.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1259,9 +1259,9 @@ href="#dss_densemap">DenseMap</a> has.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_FoldingSet">"llvm/ADT/FoldingSet.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1296,9 +1296,9 @@ elements.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_set">&lt;set&gt;</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1321,9 +1321,9 @@ std::set is almost never a good choice.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_setvector">"llvm/ADT/SetVector.h"</a>
-</div>
+</h4>
<div class="doc_text">
<p>LLVM's SetVector&lt;Type&gt; is an adapter class that combines your choice of
@@ -1361,9 +1361,9 @@ heap traffic.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_uniquevector">"llvm/ADT/UniqueVector.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1381,9 +1381,9 @@ factors, and produces a lot of malloc traffic. It should be avoided.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_otherset">Other Set-Like Container Options</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1402,9 +1402,9 @@ better.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ds_map">Map-Like Containers (std::map, DenseMap, etc)</a>
-</div>
+</h3>
<div class="doc_text">
Map-like containers are useful when you want to associate data to a key. As
@@ -1412,9 +1412,9 @@ usual, there are a lot of different ways to do this. :)
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_sortedvectormap">A sorted 'vector'</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1429,9 +1429,9 @@ vectors for sets.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_stringmap">"llvm/ADT/StringMap.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1463,9 +1463,9 @@ copies a string if a value is inserted into the table.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_indexedmap">"llvm/ADT/IndexedMap.h"</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -1483,9 +1483,9 @@ virtual register ID).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_densemap">"llvm/ADT/DenseMap.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1509,9 +1509,9 @@ inserted into the map) that it needs internally.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_valuemap">"llvm/ADT/ValueMap.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1526,9 +1526,9 @@ a <code>Config</code> parameter to the ValueMap template.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_intervalmap">"llvm/ADT/IntervalMap.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1543,9 +1543,9 @@ as STL iterators. The heavyweight iterators allow a smaller data structure.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_map">&lt;map&gt;</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1563,9 +1563,9 @@ another element takes place).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_inteqclasses">"llvm/ADT/IntEqClasses.h"</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1583,9 +1583,9 @@ it can be edited again.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_othermap">Other Map-Like Container Options</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1602,9 +1602,9 @@ always better.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ds_string">String-like containers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1616,9 +1616,9 @@ xref to #string_apis.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ds_bit">Bit storage containers (BitVector, SparseBitVector)</a>
-</div>
+</h3>
<div class="doc_text">
<p>Unlike the other containers, there are only two bit storage containers, and
@@ -1633,9 +1633,9 @@ please don't use it.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_bitvector">BitVector</a>
-</div>
+</h4>
<div class="doc_text">
<p> The BitVector container provides a dynamic size set of bits for manipulation.
@@ -1648,9 +1648,9 @@ the number of set bits to be high (IE a dense set).
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_smallbitvector">SmallBitVector</a>
-</div>
+</h4>
<div class="doc_text">
<p> The SmallBitVector container provides the same interface as BitVector, but
@@ -1667,9 +1667,9 @@ and its operator[] does not provide an assignable lvalue.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="dss_sparsebitvector">SparseBitVector</a>
-</div>
+</h4>
<div class="doc_text">
<p> The SparseBitVector container is much like BitVector, with one major
@@ -1682,9 +1682,9 @@ universe). The downside to the SparseBitVector is that setting and testing of r
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="common">Helpful Hints for Common Operations</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1700,9 +1700,9 @@ and descriptions of the main classes that you should know about.</p>
<!-- NOTE: this section should be heavy on example code -->
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="inspection">Basic Inspection and Traversal Routines</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1724,11 +1724,11 @@ structures are traversed in very similar ways.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_function">Iterating over the </a><a
href="#BasicBlock"><tt>BasicBlock</tt></a>s in a <a
href="#Function"><tt>Function</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1759,11 +1759,11 @@ exactly equivalent to <tt>(*i).size()</tt> just like you'd expect.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_basicblock">Iterating over the </a><a
href="#Instruction"><tt>Instruction</tt></a>s in a <a
href="#BasicBlock"><tt>BasicBlock</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1790,11 +1790,11 @@ basic block itself: <tt>errs() &lt;&lt; *blk &lt;&lt; "\n";</tt>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_institer">Iterating over the </a><a
href="#Instruction"><tt>Instruction</tt></a>s in a <a
href="#Function"><tt>Function</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1836,10 +1836,10 @@ for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I)
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_convert">Turning an iterator into a class pointer (and
vice-versa)</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1913,10 +1913,10 @@ and <tt>operator*</tt> changed to return a pointer instead of a reference.</p>
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_complex">Finding call sites: a slightly more complex
example</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1975,9 +1975,9 @@ class OurFunctionPass : public FunctionPass {
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="calls_and_invokes">Treating calls and invokes the same way</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2002,9 +2002,9 @@ If you look at its definition, it has only a single pointer member.</p>
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_chains">Iterating over def-use &amp; use-def chains</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2063,10 +2063,10 @@ calling <tt>use/op_begin()</tt> on <tt>const Value*</tt>s or
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="iterate_preds">Iterating over predecessors &amp;
successors of blocks</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2093,9 +2093,9 @@ succ_iterator/succ_begin/succ_end.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="simplechanges">Making simple changes</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2108,10 +2108,10 @@ and gives example code.</p>
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="schanges_creating">Creating and inserting new
<tt>Instruction</tt>s</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2249,9 +2249,9 @@ Instruction* newInst = new Instruction(..., pi);
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="schanges_deleting">Deleting <tt>Instruction</tt>s</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2273,10 +2273,10 @@ block but not delete it, you can use the <tt>removeFromParent()</tt> method.</p>
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="schanges_replacing">Replacing an <tt>Instruction</tt> with another
<tt>Value</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -2339,9 +2339,9 @@ ReplaceInstWithValue, ReplaceInstWithInst -->
</div>
<!--_______________________________________________________________________-->
-<div class="doc_subsubsection">
+<h4>
<a name="schanges_deletingGV">Deleting <tt>GlobalVariable</tt>s</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2361,9 +2361,9 @@ GV-&gt;eraseFromParent();
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="create_types">How to Create Types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2401,9 +2401,9 @@ comment</a> for more details.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="threading">Threads and LLVM</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2432,9 +2432,9 @@ support.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="startmultithreaded">Entering and Exiting Multithreaded Mode</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2469,9 +2469,9 @@ result in concurrent LLVM API calls.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="shutdown">Ending Execution with <tt>llvm_shutdown()</tt></a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -2489,9 +2489,9 @@ destructor.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="managedstatic">Lazy Initialization with <tt>ManagedStatic</tt></a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -2518,9 +2518,9 @@ and only if you know what you're doing!
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="llvmcontext">Achieving Isolation with <tt>LLVMContext</tt></a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -2562,9 +2562,9 @@ isolation is not a concern.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="jitthreading">Threads and the JIT</a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -2590,9 +2590,9 @@ access, but we suggest using only the eager JIT in threaded programs.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="advanced">Advanced Topics</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2604,9 +2604,9 @@ LLVM system, and only need to be accessed in unusual circumstances.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="TypeResolve">LLVM Type Resolution</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2640,9 +2640,9 @@ float }</tt>").
</div>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="BuildRecType">Basic Recursive Type Construction</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2696,9 +2696,9 @@ href="#PATypeHolder">PATypeHolder class</a>.
</div>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="refineAbstractTypeTo">The <tt>refineAbstractTypeTo</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -2726,9 +2726,9 @@ complex datastructures.
</div>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="PATypeHolder">The PATypeHolder Class</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -2748,9 +2748,9 @@ Type is maintained by PATypeHolder objects.
</div>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="AbstractTypeUser">The AbstractTypeUser Class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -2768,10 +2768,10 @@ objects) can never be refined.
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="SymbolTable">The <tt>ValueSymbolTable</tt> and
<tt>TypeSymbolTable</tt> classes</a>
-</div>
+</h3>
<div class="doc_text">
<p>The <tt><a href="http://llvm.org/doxygen/classllvm_1_1ValueSymbolTable.html">
@@ -2804,9 +2804,9 @@ insert entries into the symbol table.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="UserLayout">The <tt>User</tt> and owned <tt>Use</tt> classes' memory layout</a>
-</div>
+</h3>
<div class="doc_text">
<p>The <tt><a href="http://llvm.org/doxygen/classllvm_1_1User.html">
@@ -2817,9 +2817,11 @@ Use</a></tt> helper class is employed to do the bookkeeping and to facilitate <i
addition and removal.</p>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="Use2User">Interaction and relationship between <tt>User</tt> and <tt>Use</tt> objects</a>
-</div>
+<h4>
+ <a name="Use2User">
+ Interaction and relationship between <tt>User</tt> and <tt>Use</tt> objects
+ </a>
+</h4>
<div class="doc_text">
<p>
@@ -2878,9 +2880,9 @@ enforce the following memory layouts:</p>
is stored in each <tt>Use</tt> object in the member <tt>Use::Prev</tt>)</i>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="Waymarking">The waymarking algorithm</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -2919,9 +2921,9 @@ stops, so that the <i>worst case is 20 memory accesses</i> when there are
1000 <tt>Use</tt> objects associated with a <tt>User</tt>.</p>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="ReferenceImpl">Reference implementation</a>
-</div>
+</h4>
<div class="doc_text">
<p>
@@ -3009,9 +3011,9 @@ OK, passed 500 tests.
</pre>
<!-- ______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="Tagging">Tagging considerations</a>
-</div>
+</h4>
<p>
To maintain the invariant that the 2 LSBits of each <tt>Use**</tt> in <tt>Use</tt>
@@ -3028,9 +3030,9 @@ the LSBit set. (Portability is relying on the fact that all known compilers plac
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="coreclasses">The Core LLVM Class Hierarchy Reference </a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -3045,9 +3047,9 @@ the <tt>lib/VMCore</tt> directory.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Type">The <tt>Type</tt> class and Derived Types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3067,9 +3069,9 @@ the <tt>lib/VMCore</tt> directory.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="m_Type">Important Public Methods</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3089,9 +3091,9 @@ the <tt>lib/VMCore</tt> directory.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="derivedtypes">Important Derived Types</a>
-</div>
+</h4>
<div class="doc_text">
<dl>
<dt><tt>IntegerType</tt></dt>
@@ -3157,9 +3159,9 @@ the <tt>lib/VMCore</tt> directory.</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Module">The <tt>Module</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3179,9 +3181,9 @@ helpful member functions that try to make common operations easy.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="m_Module">Important Public Members of the <tt>Module</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3284,9 +3286,9 @@ provide a name for it (probably based on the name of the translation unit).</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Value">The <tt>Value</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3342,9 +3344,9 @@ simplifies the representation and makes it easier to manipulate.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="m_Value">Important Public Members of the <tt>Value</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3394,9 +3396,9 @@ Inst-&gt;replaceAllUsesWith(ConstVal);
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="User">The <tt>User</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3420,9 +3422,9 @@ information in LLVM.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="m_User">Important Public Members of the <tt>User</tt> class</a>
-</div>
+</h4>
<div class="doc_text">
@@ -3448,9 +3450,9 @@ the operands of a <tt>User</tt>.</p></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Instruction">The <tt>Instruction</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3486,10 +3488,11 @@ this file confuses doxygen, so these enum values don't show up correctly in the
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="s_Instruction">Important Subclasses of the <tt>Instruction</tt>
- class</a>
-</div>
+<h4>
+ <a name="s_Instruction">
+ Important Subclasses of the <tt>Instruction</tt> class
+ </a>
+</h4>
<div class="doc_text">
<ul>
<li><tt><a name="BinaryOperator">BinaryOperator</a></tt>
@@ -3509,10 +3512,11 @@ this file confuses doxygen, so these enum values don't show up correctly in the
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="m_Instruction">Important Public Members of the <tt>Instruction</tt>
- class</a>
-</div>
+<h4>
+ <a name="m_Instruction">
+ Important Public Members of the <tt>Instruction</tt> class
+ </a>
+</h4>
<div class="doc_text">
@@ -3535,9 +3539,9 @@ and it has no name</p></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Constant">The <tt>Constant</tt> class and subclasses</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3550,7 +3554,7 @@ a subclass, which represents the address of a global variable or function.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">Important Subclasses of Constant </div>
+<h4>Important Subclasses of Constant</h4>
<div class="doc_text">
<ul>
<li>ConstantInt : This subclass of Constant represents an integer constant of
@@ -3601,9 +3605,9 @@ a subclass, which represents the address of a global variable or function.
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="GlobalValue">The <tt>GlobalValue</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3648,10 +3652,11 @@ Language Reference Manual</a>.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="m_GlobalValue">Important Public Members of the <tt>GlobalValue</tt>
- class</a>
-</div>
+<h4>
+ <a name="m_GlobalValue">
+ Important Public Members of the <tt>GlobalValue</tt> class
+ </a>
+</h4>
<div class="doc_text">
@@ -3670,9 +3675,9 @@ GlobalValue is currently embedded into.</p></li>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Function">The <tt>Function</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3724,10 +3729,11 @@ is its address (after linking) which is guaranteed to be constant.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="m_Function">Important Public Members of the <tt>Function</tt>
- class</a>
-</div>
+<h4>
+ <a name="m_Function">
+ Important Public Members of the <tt>Function</tt> class
+ </a>
+</h4>
<div class="doc_text">
@@ -3808,9 +3814,9 @@ iterator<br>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="GlobalVariable">The <tt>GlobalVariable</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3837,10 +3843,11 @@ never change at runtime).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="m_GlobalVariable">Important Public Members of the
- <tt>GlobalVariable</tt> class</a>
-</div>
+<h4>
+ <a name="m_GlobalVariable">
+ Important Public Members of the <tt>GlobalVariable</tt> class
+ </a>
+</h4>
<div class="doc_text">
@@ -3882,9 +3889,9 @@ never change at runtime).</p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="BasicBlock">The <tt>BasicBlock</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -3914,10 +3921,11 @@ like branches and can go in the switch tables. <tt>BasicBlock</tt>s have type
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="m_BasicBlock">Important Public Members of the <tt>BasicBlock</tt>
- class</a>
-</div>
+<h4>
+ <a name="m_BasicBlock">
+ Important Public Members of the <tt>BasicBlock</tt> class
+ </a>
+</h4>
<div class="doc_text">
<ul>
@@ -3973,9 +3981,9 @@ returned.</p></li>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="Argument">The <tt>Argument</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/Projects.html b/docs/Projects.html
index d7f4c89..8ba8783 100644
--- a/docs/Projects.html
+++ b/docs/Projects.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">Creating an LLVM Project</div>
+<h1>Creating an LLVM Project</h1>
<ol>
<li><a href="#overview">Overview</a></li>
@@ -30,7 +30,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="overview">Overview</a></div>
+<h2><a name="overview">Overview</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -73,9 +73,9 @@ provide enough information on how to write your own Makefiles.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="create">Create a Project from the Sample Project</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -145,9 +145,9 @@ project should build.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="source">Source Tree Layout</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -230,9 +230,9 @@ your <b>tools</b> directory.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="makefiles">Writing LLVM Style Makefiles</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -245,9 +245,9 @@ do:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="reqVars">Required Variables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -263,9 +263,9 @@ do:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="varsBuildDir">Variables for Building Subdirectories</a>
-</div>
+</h3>
<div class="doc_text">
@@ -294,9 +294,9 @@ do:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="varsBuildLib">Variables for Building Libraries</a>
-</div>
+</h3>
<div class="doc_text">
@@ -325,9 +325,9 @@ do:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="varsBuildProg">Variables for Building Programs</a>
-</div>
+</h3>
<div class="doc_text">
@@ -368,9 +368,9 @@ do:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="miscVars">Miscellaneous Variables</a>
-</div>
+</h3>
<div class="doc_text">
@@ -399,9 +399,9 @@ do:</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="objcode">Placement of Object Code</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -427,9 +427,9 @@ whether you do a Debug, Release, or Profile build.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="help">Further Help</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/SourceLevelDebugging.html b/docs/SourceLevelDebugging.html
index 544b914..9e6b579 100644
--- a/docs/SourceLevelDebugging.html
+++ b/docs/SourceLevelDebugging.html
@@ -8,7 +8,7 @@
</head>
<body>
-<div class="doc_title">Source Level Debugging with LLVM</div>
+<h1>Source Level Debugging with LLVM</h1>
<table class="layout" style="width:100%">
<tr class="layout">
@@ -68,7 +68,7 @@ height="369">
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -83,9 +83,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="phil">Philosophy behind LLVM debugging information</a>
-</div>
+</h3>
<div class="doc_text">
@@ -133,9 +133,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="consumers">Debug information consumers</a>
-</div>
+</h3>
<div class="doc_text">
@@ -157,9 +157,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="debugopt">Debugging optimized code</a>
-</div>
+</h3>
<div class="doc_text">
@@ -227,9 +227,9 @@ height="369">
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="format">Debugging information format</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -268,9 +268,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="debug_info_descriptors">Debug information descriptors</a>
-</div>
+</h3>
<div class="doc_text">
@@ -315,9 +315,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_compile_units">Compile unit descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -351,9 +351,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_files">File descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -380,9 +380,9 @@ height="369">
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_global_variables">Global variable descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -413,9 +413,9 @@ global variables are collected by named metadata <tt>!llvm.dbg.gv</tt>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_subprograms">Subprogram descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -456,9 +456,9 @@ global variables are collected by named metadata <tt>!llvm.dbg.gv</tt>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_blocks">Block descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -482,9 +482,9 @@ global variables are collected by named metadata <tt>!llvm.dbg.gv</tt>.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_basic_type">Basic type descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -534,9 +534,9 @@ DW_ATE_unsigned_char = 8
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_derived_type">Derived type descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -606,9 +606,9 @@ DW_TAG_restrict_type = 55
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_composite_type">Composite type descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -693,9 +693,9 @@ DW_TAG_inheritance = 28
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_subrange">Subrange descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -719,9 +719,9 @@ DW_TAG_inheritance = 28
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_enumeration">Enumerator descriptors</a>
-</div>
+</h4>
<div class="doc_text">
@@ -743,9 +743,9 @@ DW_TAG_inheritance = 28
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_variables">Local variables</a>
-</div>
+</h4>
<div class="doc_text">
@@ -787,9 +787,9 @@ DW_TAG_return_variable = 258
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="format_common_intrinsics">Debugger intrinsic functions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -799,9 +799,9 @@ DW_TAG_return_variable = 258
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_common_declare">llvm.dbg.declare</a>
-</div>
+</h4>
<div class="doc_text">
<pre>
@@ -814,9 +814,9 @@ DW_TAG_return_variable = 258
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="format_common_value">llvm.dbg.value</a>
-</div>
+</h4>
<div class="doc_text">
<pre>
@@ -831,9 +831,9 @@ DW_TAG_return_variable = 258
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="format_common_lifetime">Object lifetimes and scoping</a>
-</div>
+</h3>
<div class="doc_text">
<p>In many languages, the local variables in functions can have their lifetimes
@@ -994,9 +994,9 @@ call void @llvm.dbg.declare(metadata, metadata !12), !dbg !14
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="ccxx_frontend">C/C++ front-end specific debug information</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1023,9 +1023,9 @@ call void @llvm.dbg.declare(metadata, metadata !12), !dbg !14
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_compile_units">C/C++ source file information</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1101,9 +1101,9 @@ using <tt>Instruction::getMetadata()</tt> and
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_global_variable">C/C++ global variable information</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1171,9 +1171,9 @@ int MyGlobal = 100;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_subprogram">C/C++ function information</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1228,9 +1228,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_basic_types">C/C++ basic types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1239,9 +1239,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_type_bool">bool</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1265,9 +1265,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_char">char</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1291,9 +1291,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_unsigned_char">unsigned char</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1317,9 +1317,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_short">short</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1343,9 +1343,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_unsigned_short">unsigned short</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1369,9 +1369,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_int">int</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1394,9 +1394,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_unsigned_int">unsigned int</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1420,9 +1420,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_long_long">long long</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1446,9 +1446,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_unsigned_long_long">unsigned long long</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1472,9 +1472,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_float">float</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1498,9 +1498,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection">
+<h4>
<a name="ccxx_basic_double">double</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1524,9 +1524,9 @@ define i32 @main(i32 %argc, i8** %argv) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_derived_types">C/C++ derived types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1609,9 +1609,9 @@ typedef const int *IntPtr;
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_composite_types">C/C++ struct/union types</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1722,9 +1722,9 @@ struct Color {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ccxx_enumeration_types">C/C++ enumeration types</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/SystemLibrary.html b/docs/SystemLibrary.html
index 35a94b7..db60a47 100644
--- a/docs/SystemLibrary.html
+++ b/docs/SystemLibrary.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">System Library</div>
+<h1>System Library</h1>
<ul>
<li><a href="#abstract">Abstract</a></li>
<li><a href="#requirements">Keeping LLVM Portable</a>
@@ -36,7 +36,7 @@
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="abstract">Abstract</a></div>
+<h2><a name="abstract">Abstract</a></h2>
<div class="doc_text">
<p>This document provides some details on LLVM's System Library, located in
the source at <tt>lib/System</tt> and <tt>include/llvm/System</tt>. The
@@ -63,9 +63,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="requirements">Keeping LLVM Portable</a>
-</div>
+</h2>
<div class="doc_text">
<p>In order to keep LLVM portable, LLVM developers should adhere to a set of
portability rules associated with the System Library. Adherence to these rules
@@ -75,8 +75,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="headers">Don't Include System Headers</a>
-</div>
+<h3><a name="headers">Don't Include System Headers</a></h3>
<div class="doc_text">
<p>Except in <tt>lib/System</tt>, no LLVM source code should directly
<tt>#include</tt> a system header. Care has been taken to remove all such
@@ -91,8 +90,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="expose">Don't Expose System Headers</a>
-</div>
+<h3><a name="expose">Don't Expose System Headers</a></h3>
<div class="doc_text">
<p>The System Library must shield LLVM from <em>all</em> system headers. To
obtain system level functionality, LLVM source must
@@ -103,7 +101,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="c_headers">Use Standard C Headers</a></div>
+<h3><a name="c_headers">Use Standard C Headers</a></h3>
<div class="doc_text">
<p>The <em>standard</em> C headers (the ones beginning with "c") are allowed
to be exposed through the <tt>lib/System</tt> interface. These headers and
@@ -113,8 +111,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="cpp_headers">Use Standard C++ Headers</a>
-</div>
+<h3><a name="cpp_headers">Use Standard C++ Headers</a></h3>
<div class="doc_text">
<p>The <em>standard</em> C++ headers from the standard C++ library and
standard template library may be exposed through the <tt>lib/System</tt>
@@ -124,7 +121,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="highlev">High Level Interface</a></div>
+<h3><a name="highlev">High Level Interface</a></h3>
<div class="doc_text">
<p>The entry points specified in the interface of lib/System must be aimed at
completing some reasonably high level task needed by LLVM. We do not want to
@@ -143,7 +140,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="nounused">No Unused Functionality</a></div>
+<h3><a name="nounused">No Unused Functionality</a></h3>
<div class="doc_text">
<p>There must be no functionality specified in the interface of lib/System
that isn't actually used by LLVM. We're not writing a general purpose
@@ -153,8 +150,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="nodupl">No Duplicate Implementations</a>
-</div>
+<h3><a name="nodupl">No Duplicate Implementations</a></h3>
<div class="doc_text">
<p>The implementation of a function for a given platform must be written
exactly once. This implies that it must be possible to apply a function's
@@ -165,7 +161,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="virtuals">No Virtual Methods</a></div>
+<h3><a name="virtuals">No Virtual Methods</a></h3>
<div class="doc_text">
<p>The System Library interfaces can be called quite frequently by LLVM. In
order to make those calls as efficient as possible, we discourage the use of
@@ -175,7 +171,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="nofunc">No Exposed Functions</a></div>
+<h3><a name="nofunc">No Exposed Functions</a></h3>
<div class="doc_text">
<p>Any functions defined by system libraries (i.e. not defined by lib/System)
must not be exposed through the lib/System interface, even if the header file
@@ -191,7 +187,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="nodata">No Exposed Data</a></div>
+<h3><a name="nodata">No Exposed Data</a></h3>
<div class="doc_text">
<p>Any data defined by system libraries (i.e. not defined by lib/System) must
not be exposed through the lib/System interface, even if the header file for
@@ -200,7 +196,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="softerrors">Minimize Soft Errors</a></div>
+<h3><a name="softerrors">Minimize Soft Errors</a></h3>
<div class="doc_text">
<p>Operating system interfaces will generally provide error results for every
little thing that could go wrong. In almost all cases, you can divide these
@@ -239,8 +235,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="throw_spec">No throw Specifications</a>
-</div>
+<h3><a name="throw_spec">No throw Specifications</a></h3>
<div class="doc_text">
<p>None of the lib/System interface functions may be declared with C++
<tt>throw()</tt> specifications on them. This requirement makes sure that the
@@ -252,7 +247,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="organization">Code Organization</a></div>
+<h3><a name="organization">Code Organization</a></h3>
<div class="doc_text">
<p>Implementations of the System Library interface are separated by their
general class of operating system. Currently only Unix and Win32 classes are
@@ -281,7 +276,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="semantics">Consistent Semantics</a></div>
+<h3><a name="semantics">Consistent Semantics</a></h3>
<div class="doc_text">
<p>The implementation of a lib/System interface can vary drastically between
platforms. That's okay as long as the end result of the interface function
@@ -296,7 +291,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="bug">Bug 351</a></div>
+<h3><a name="bug">Bug 351</a></h3>
<div class="doc_text">
<p>See <a href="http://llvm.org/PR351">bug 351</a>
for further details on the progress of this work</p>
diff --git a/docs/TableGenFundamentals.html b/docs/TableGenFundamentals.html
index 90ac804..7efdfbb 100644
--- a/docs/TableGenFundamentals.html
+++ b/docs/TableGenFundamentals.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">TableGen Fundamentals</div>
+<h1>TableGen Fundamentals</h1>
<div class="doc_text">
<ul>
@@ -50,7 +50,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -75,7 +75,7 @@ distribution, respectively.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="concepts">Basic concepts</a></div>
+<h3><a name="concepts">Basic concepts</a></h3>
<div class="doc_text">
@@ -112,7 +112,7 @@ multiclass, as if they were declared in the current multiclass.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="example">An example record</a></div>
+<h3><a name="example">An example record</a></h3>
<div class="doc_text">
@@ -212,7 +212,7 @@ abstractions they prefer to use when describing their information.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="running">Running TableGen</a></div>
+<h3><a name="running">Running TableGen</a></h3>
<div class="doc_text">
@@ -258,7 +258,7 @@ what you need and formats it in the appropriate way.</p>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="syntax">TableGen syntax</a></div>
+<h2><a name="syntax">TableGen syntax</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -271,10 +271,10 @@ This section describes the syntax and the constructs allowed in a TableGen file.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="primitives">TableGen primitives</a></div>
+<h3><a name="primitives">TableGen primitives</a></h3>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection"><a name="comments">TableGen comments</a></div>
+<h4><a name="comments">TableGen comments</a></h4>
<div class="doc_text">
@@ -284,9 +284,9 @@ the line, and it also supports <b>nestable</b> "<tt>/* */</tt>" comments.</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="types">The TableGen type system</a>
-</div>
+</h4>
<div class="doc_text">
@@ -344,9 +344,9 @@ needed.</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="values">TableGen values and expressions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -434,9 +434,9 @@ to a "<tt>bits&lt;4&gt;</tt>" value, for example.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="classesdefs">Classes and definitions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -476,9 +476,9 @@ subclasses to override them as they wish.</p>
</div>
<!---------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="valuedef">Value definitions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -492,9 +492,9 @@ equal sign. Value definitions require terminating semicolons.</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="recordlet">'let' expressions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -519,9 +519,9 @@ because the <tt>D</tt> class overrode its value.</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="templateargs">Class template arguments</a>
-</div>
+</h4>
<div class="doc_text">
@@ -610,9 +610,9 @@ X86 backend.</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="multiclass">Multiclass definitions and instances</a>
-</div>
+</h4>
<div class="doc_text">
@@ -773,14 +773,14 @@ before them.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="filescope">File scope entities</a>
-</div>
+</h3>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="include">File inclusion</a>
-</div>
+</h4>
<div class="doc_text">
<p>TableGen supports the '<tt>include</tt>' token, which textually substitutes
@@ -797,9 +797,9 @@ keyword. Example:</p>
</div>
<!-- -------------------------------------------------------------------------->
-<div class="doc_subsubsection">
+<h4>
<a name="globallet">'let' expressions</a>
-</div>
+</h4>
<div class="doc_text">
@@ -865,7 +865,7 @@ several levels of multiclass instanciations. This also avoids the need of using
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="codegen">Code Generator backend info</a></div>
+<h2><a name="codegen">Code Generator backend info</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -882,7 +882,7 @@ patterns:</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="backends">TableGen backends</a></div>
+<h2><a name="backends">TableGen backends</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/TestingGuide.html b/docs/TestingGuide.html
index 5886c85..3d6aa92 100644
--- a/docs/TestingGuide.html
+++ b/docs/TestingGuide.html
@@ -7,9 +7,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
LLVM Testing Infrastructure Guide
-</div>
+</h1>
<ol>
<li><a href="#overview">Overview</a></li>
@@ -52,7 +52,7 @@
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="overview">Overview</a></div>
+<h2><a name="overview">Overview</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -64,7 +64,7 @@ use it, and how to add and run tests.</p>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="requirements">Requirements</a></div>
+<h2><a name="requirements">Requirements</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -76,7 +76,7 @@ as <a href="http://python.org">Python</a> 2.4 or later.</p>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="org">LLVM testing infrastructure organization</a></div>
+<h2><a name="org">LLVM testing infrastructure organization</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -92,7 +92,7 @@ in subversion.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="regressiontests">Regression tests</a></div>
+<h3><a name="regressiontests">Regression tests</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -119,7 +119,7 @@ application or benchmark.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="testsuite">Test suite</a></div>
+<h3><a name="testsuite">Test suite</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -144,8 +144,7 @@ generates code.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="debuginfotests">Debugging Information
-tests</a></div>
+<h3><a name="debuginfotests">Debugging Information tests</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -161,7 +160,7 @@ test suite for more information . This test suite is located in the
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="quick">Quick start</a></div>
+<h2><a name="quick">Quick start</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -179,7 +178,7 @@ the <tt>test-suite</tt> directory will be automatically configured.
Alternatively, you can configure the <tt>test-suite</tt> module manually.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="quickregressiontests">Regression tests</a></div>
+<h3><a name="quickregressiontests">Regression tests</a></h3>
<!-- _______________________________________________________________________ -->
<p>To run all of the LLVM regression tests, use master Makefile in
the <tt>llvm/test</tt> directory:</p>
@@ -240,7 +239,7 @@ script which is built as part of LLVM. For example, to run the
'lit' man page.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="quicktestsuite">Test suite</a></div>
+<h3><a name="quicktestsuite">Test suite</a></h3>
<!-- _______________________________________________________________________ -->
<p>To run the comprehensive test suite (tests that compile and execute whole
@@ -292,8 +291,7 @@ that subdirectory.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="quickdebuginfotests">Debugging Information
-tests</a></div>
+<h3><a name="quickdebuginfotests">Debugging Information tests</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -312,7 +310,7 @@ clang/test directory. </p>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="rtstructure">Regression test structure</a></div>
+<h2><a name="rtstructure">Regression test structure</a></h2>
<!--=========================================================================-->
<div class="doc_text">
<p>The LLVM regression tests are driven by 'lit' and are located in
@@ -339,7 +337,7 @@ clang/test directory. </p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="rtcustom">Writing new regression tests</a></div>
+<h3><a name="rtcustom">Writing new regression tests</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
<p>The regression test structure is very simple, but does require some
@@ -493,7 +491,7 @@ negatives).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="FileCheck">The FileCheck utility</a></div>
+<h3><a name="FileCheck">The FileCheck utility</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -565,8 +563,9 @@ file.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a
-name="FileCheck-check-prefix">The FileCheck -check-prefix option</a></div>
+<h4>
+ <a name="FileCheck-check-prefix">The FileCheck -check-prefix option</a>
+</h4>
<div class="doc_text">
@@ -599,8 +598,9 @@ both 32-bit and 64-bit code generation.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a
-name="FileCheck-CHECK-NEXT">The "CHECK-NEXT:" directive</a></div>
+<h4>
+ <a name="FileCheck-CHECK-NEXT">The "CHECK-NEXT:" directive</a>
+</h4>
<div class="doc_text">
@@ -639,8 +639,9 @@ directive in a file.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a
-name="FileCheck-CHECK-NOT">The "CHECK-NOT:" directive</a></div>
+<h4>
+ <a name="FileCheck-CHECK-NOT">The "CHECK-NOT:" directive</a>
+</h4>
<div class="doc_text">
@@ -669,8 +670,9 @@ define i8 @coerce_offset0(i32 %V, i32* %P) {
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a
-name="FileCheck-Matching">FileCheck Pattern Matching Syntax</a></div>
+<h4>
+ <a name="FileCheck-Matching">FileCheck Pattern Matching Syntax</a>
+</h4>
<div class="doc_text">
@@ -701,8 +703,9 @@ braces explicitly from the input, you can use something ugly like
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection"><a
-name="FileCheck-Variables">FileCheck Variables</a></div>
+<h4>
+ <a name="FileCheck-Variables">FileCheck Variables</a>
+</h4>
<div class="doc_text">
@@ -740,8 +743,7 @@ define two separate CHECK lines that match on the same line.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="rtvars">Variables and
-substitutions</a></div>
+<h3><a name="rtvars">Variables and substitutions</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
<p>With a RUN line there are a number of substitutions that are permitted. In
@@ -836,7 +838,7 @@ substitutions</a></div>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection"><a name="rtfeatures">Other Features</a></div>
+<h3><a name="rtfeatures">Other Features</a></h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
<p>To make RUN line writing easier, there are several shell scripts located
@@ -894,8 +896,7 @@ substitutions</a></div>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="testsuitestructure">Test suite
-Structure</a></div>
+<h2><a name="testsuitestructure">Test suite Structure</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -963,7 +964,7 @@ will help you separate benign warnings from actual test failures.</p>
</div>
<!--=========================================================================-->
-<div class="doc_section"><a name="testsuiterun">Running the test suite</a></div>
+<h2><a name="testsuiterun">Running the test suite</a></h2>
<!--=========================================================================-->
<div class="doc_text">
@@ -1024,8 +1025,9 @@ the test code or configure script changes).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
-<a name="testsuiteexternal">Configuring External Tests</a></div>
+<h3>
+ <a name="testsuiteexternal">Configuring External Tests</a>
+</h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
@@ -1056,8 +1058,9 @@ the test code or configure script changes).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
-<a name="testsuitetests">Running different tests</a></div>
+<h3>
+ <a name="testsuitetests">Running different tests</a>
+</h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
<p>In addition to the regular "whole program" tests, the <tt>test-suite</tt>
@@ -1079,8 +1082,9 @@ LLVM.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
-<a name="testsuiteoutput">Generating test output</a></div>
+<h3>
+ <a name="testsuiteoutput">Generating test output</a>
+</h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
<p>There are a number of ways to run the tests and generate output. The most
@@ -1110,8 +1114,9 @@ LLVM.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
-<a name="testsuitecustom">Writing custom tests for the test suite</a></div>
+<h3>
+ <a name="testsuitecustom">Writing custom tests for the test suite</a>
+</h3>
<!-- _______________________________________________________________________ -->
<div class="doc_text">
diff --git a/docs/UsingLibraries.html b/docs/UsingLibraries.html
index 28c1e08..e8067ed 100644
--- a/docs/UsingLibraries.html
+++ b/docs/UsingLibraries.html
@@ -5,7 +5,7 @@
<link rel="stylesheet" href="llvm.css" type="text/css">
</head>
<body>
-<div class="doc_title">Using The LLVM Libraries</div>
+<h1>Using The LLVM Libraries</h1>
<ol>
<li><a href="#abstract">Abstract</a></li>
<li><a href="#introduction">Introduction</a></li>
@@ -30,7 +30,7 @@
guide</a>.</p>
<!-- ======================================================================= -->
-<div class="doc_section"><a name="abstract">Abstract</a></div>
+<h2><a name="abstract">Abstract</a></h2>
<div class="doc_text">
<p>Amongst other things, LLVM is a toolkit for building compilers, linkers,
runtime executives, virtual machines, and other program execution related
@@ -45,7 +45,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section"> <a name="introduction">Introduction</a></div>
+<h2><a name="introduction">Introduction</a></h2>
<div class="doc_text">
<p>If you're writing a compiler, virtual machine, or any other utility based
on LLVM, you'll need to figure out which of the many libraries files you will
@@ -74,7 +74,7 @@
correct for your tool can sometimes be challenging.
</div>
<!-- ======================================================================= -->
-<div class="doc_section"><a name="descriptions"></a>Library Descriptions</div>
+<h2><a name="descriptions">Library Descriptions</a></h2>
<div class="doc_text">
<p>The table below categorizes each library
<table style="text-align:left">
@@ -152,7 +152,7 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section"><a name="dependencies"></a>Using llvm-config</div>
+<h2><a name="dependencies">Using llvm-config</a></h2>
<div class="doc_text">
<p>The <tt>llvm-config</tt> tool is a perl script that produces on its output
various kinds of information. For example, the source or object directories
@@ -401,14 +401,15 @@
</div>
<!-- ======================================================================= -->
-<div class="doc_section"><a name="rot">Linkage Rules Of Thumb</a></div>
+<h2><a name="rot">Linkage Rules Of Thumb</a></h2>
<div class="doc_text">
<p>This section contains various "rules of thumb" about what files you
should link into your programs.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="always">Always Link LLVMCore, LLVMSupport,
- and LLVMSystem</a></div>
+<h3>
+ <a name="always">Always Link LLVMCore, LLVMSupport, and LLVMSystem</a>
+</h3>
<div class="doc_text">
<p>No matter what you do with LLVM, the last three entries in the value of
your LLVMLIBS make variable should always be:
@@ -416,8 +417,9 @@
programs that don't depend on these three.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection"><a name="onlyone">Never link both archive and
- re-linked library</a></div>
+<h3>
+ <a name="onlyone">Never link both archive and re-linked library</a>
+</h3>
<div class="doc_text">
<p>There is never any point to linking both the re-linked (<tt>.o</tt>) and
the archive (<tt>.a</tt>) versions of a library. Since the re-linked version
diff --git a/docs/WritingAnLLVMBackend.html b/docs/WritingAnLLVMBackend.html
index 4798cdf..c8dcb8a 100644
--- a/docs/WritingAnLLVMBackend.html
+++ b/docs/WritingAnLLVMBackend.html
@@ -9,9 +9,9 @@
<body>
-<div class="doc_title">
+<h1>
Writing an LLVM Compiler Backend
-</div>
+</h1>
<ol>
<li><a href="#intro">Introduction</a>
@@ -61,9 +61,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="intro">Introduction</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -93,9 +93,9 @@ conventions.
</div>
-<div class="doc_subsection">
+<h3>
<a name="Audience">Audience</a>
-</div>
+</h3>
<div class="doc_text">
@@ -106,9 +106,9 @@ generate code for a specific hardware or software target.
</div>
-<div class="doc_subsection">
+<h3>
<a name="Prerequisite">Prerequisite Reading</a>
-</div>
+</h3>
<div class="doc_text">
@@ -155,9 +155,9 @@ machine dependent features.
</div>
-<div class="doc_subsection">
+<h3>
<a name="Basic">Basic Steps</a>
-</div>
+</h3>
<div class="doc_text">
@@ -220,9 +220,9 @@ that the class will need and which components will need to be subclassed.
</div>
-<div class="doc_subsection">
+<h3>
<a name="Preliminaries">Preliminaries</a>
-</div>
+</h3>
<div class="doc_text">
@@ -282,9 +282,9 @@ regenerate configure by running <tt>./autoconf/AutoRegen.sh</tt>.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="TargetMachine">Target Machine</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -424,9 +424,9 @@ SparcTargetMachine::SparcTargetMachine(const Module &amp;M, const std::string &a
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="TargetRegistration">Target Registration</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -480,9 +480,9 @@ For more information, see
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="RegisterSet">Register Set and Register Classes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -517,9 +517,9 @@ implementation of <tt>XXXRegisterInfo</tt> requires hand-coding.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="RegisterDef">Defining a Register</a>
-</div>
+</h3>
<div class="doc_text">
@@ -700,9 +700,9 @@ fields of a register's TargetRegisterDesc.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="RegisterClassDef">Defining a Register Class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -894,10 +894,10 @@ namespace SP { // Register class instances
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="implementRegister">Implement a subclass of</a>
<a href="CodeGenerator.html#targetregisterinfo">TargetRegisterInfo</a>
-</div>
+</h3>
<div class="doc_text">
@@ -934,9 +934,9 @@ implementation in <tt>SparcRegisterInfo.cpp</tt>:
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="InstructionSet">Instruction Set</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1191,9 +1191,9 @@ correspond to the values in <tt>SparcInstrInfo.td</tt>. I.e.,
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="operandMapping">Instruction Operand Mapping</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1283,10 +1283,10 @@ the <tt>rd</tt>, <tt>rs1</tt>, and <tt>rs2</tt> fields respectively.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="implementInstr">Implement a subclass of </a>
<a href="CodeGenerator.html#targetinstrinfo">TargetInstrInfo</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1327,9 +1327,9 @@ implementation in <tt>SparcInstrInfo.cpp</tt>:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="branchFolding">Branch Folding and If Conversion</a>
-</div>
+</h3>
<div class="doc_text">
<p>
@@ -1486,9 +1486,9 @@ branch.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="InstructionSelector">Instruction Selector</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1645,9 +1645,9 @@ SDNode *Select_ISD_STORE(const SDValue &amp;N) {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="LegalizePhase">The SelectionDAG Legalize Phase</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1719,9 +1719,9 @@ contains examples of all four <tt>LegalAction</tt> values.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="promote">Promote</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1742,9 +1742,9 @@ setLoadExtAction(ISD::SEXTLOAD, MVT::i1, Promote);
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="expand">Expand</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1767,9 +1767,9 @@ setOperationAction(ISD::FCOS, MVT::f32, Expand);
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="custom">Custom</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1833,9 +1833,9 @@ static SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &amp;DAG) {
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="legal">Legal</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1866,9 +1866,9 @@ if (TM.getSubtarget&lt;SparcSubtarget&gt;().isV9())
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="callingConventions">Calling Conventions</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2016,9 +2016,9 @@ def RetCC_X86_32 : CallingConv&lt;[
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="assemblyPrinter">Assembly Printer</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2171,9 +2171,9 @@ output.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="subtargetSupport">Subtarget Support</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2289,9 +2289,9 @@ XXXSubtarget::XXXSubtarget(const Module &amp;M, const std::string &amp;FS) {
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="jitSupport">JIT Support</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -2336,9 +2336,9 @@ that write data (in bytes, words, strings, etc.) to the output stream.
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="mce">Machine Code Emitter</a>
-</div>
+</h3>
<div class="doc_text">
@@ -2478,9 +2478,9 @@ enum RelocationType {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="targetJITInfo">Target JIT Info</a>
-</div>
+</h3>
<div class="doc_text">
diff --git a/docs/WritingAnLLVMPass.html b/docs/WritingAnLLVMPass.html
index 7e15245..3316179 100644
--- a/docs/WritingAnLLVMPass.html
+++ b/docs/WritingAnLLVMPass.html
@@ -8,9 +8,9 @@
</head>
<body>
-<div class="doc_title">
+<h1>
Writing an LLVM Pass
-</div>
+</h1>
<ol>
<li><a href="#introduction">Introduction - What is a pass?</a></li>
@@ -121,9 +121,9 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="introduction">Introduction - What is a pass?</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -156,9 +156,9 @@ more advanced features are discussed.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="quickstart">Quick Start - Writing hello world</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -172,9 +172,9 @@ source tree in the <tt>lib/Transforms/Hello</tt> directory.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="makefile">Setting up the build environment</a>
-</div>
+</h3>
<div class="doc_text">
@@ -220,9 +220,9 @@ the pass itself.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="basiccode">Basic code required</a>
-</div>
+</h3>
<div class="doc_text">
@@ -356,9 +356,9 @@ them) to be useful.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="running">Running a pass with <tt>opt</tt></a>
-</div>
+</h3>
<div class="doc_text">
@@ -447,9 +447,9 @@ about some more details of how they work and how to use them.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="passtype">Pass classes and requirements</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -470,9 +470,9 @@ slow.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ImmutablePass">The <tt>ImmutablePass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -493,9 +493,9 @@ invalidated, and are never "run".</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="ModulePass">The <tt>ModulePass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -522,9 +522,9 @@ following signature:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnModule">The <tt>runOnModule</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -539,9 +539,9 @@ false otherwise.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="CallGraphSCCPass">The <tt>CallGraphSCCPass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -587,10 +587,11 @@ false if they didn't.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doInitialization_scc">The <tt>doInitialization(CallGraph &amp;)</tt>
- method</a>
-</div>
+<h4>
+ <a name="doInitialization_scc">
+ The <tt>doInitialization(CallGraph &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -609,9 +610,9 @@ fast).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnSCC">The <tt>runOnSCC</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -626,10 +627,11 @@ otherwise.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doFinalization_scc">The <tt>doFinalization(CallGraph
- &amp;)</tt> method</a>
-</div>
+<h4>
+ <a name="doFinalization_scc">
+ The <tt>doFinalization(CallGraph &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -645,9 +647,9 @@ program being compiled.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="FunctionPass">The <tt>FunctionPass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -677,10 +679,11 @@ should return true if they modified the program, or false if they didn't.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doInitialization_mod">The <tt>doInitialization(Module &amp;)</tt>
- method</a>
-</div>
+<h4>
+ <a name="doInitialization_mod">
+ The <tt>doInitialization(Module &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -706,9 +709,9 @@ free functions that it needs, adding prototypes to the module if necessary.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnFunction">The <tt>runOnFunction</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -723,10 +726,11 @@ be returned if the function is modified.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doFinalization_mod">The <tt>doFinalization(Module
- &amp;)</tt> method</a>
-</div>
+<h4>
+ <a name="doFinalization_mod">
+ The <tt>doFinalization(Module &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -742,9 +746,9 @@ program being compiled.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="LoopPass">The <tt>LoopPass</tt> class </a>
-</div>
+</h3>
<div class="doc_text">
@@ -760,11 +764,11 @@ program, or false if they didn't. </p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doInitialization_loop">The <tt>doInitialization(Loop *,
- LPPassManager &amp;)</tt>
- method</a>
-</div>
+<h4>
+ <a name="doInitialization_loop">
+ The <tt>doInitialization(Loop *,LPPassManager &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -783,9 +787,9 @@ information.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnLoop">The <tt>runOnLoop</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -801,9 +805,9 @@ should be used to update loop nest.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="doFinalization_loop">The <tt>doFinalization()</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -819,9 +823,9 @@ program being compiled. </p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="RegionPass">The <tt>RegionPass</tt> class </a>
-</div>
+</h3>
<div class="doc_text">
@@ -838,11 +842,11 @@ methods should return true if they modified the program, or false if they didn n
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doInitialization_region">The <tt>doInitialization(Region *,
- RGPassManager &amp;)</tt>
- method</a>
-</div>
+<h4>
+ <a name="doInitialization_region">
+ The <tt>doInitialization(Region *, RGPassManager &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -861,9 +865,9 @@ information.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnRegion">The <tt>runOnRegion</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -879,9 +883,9 @@ should be used to update region tree.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="doFinalization_region">The <tt>doFinalization()</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -899,9 +903,9 @@ program being compiled. </p>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="BasicBlockPass">The <tt>BasicBlockPass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -928,10 +932,11 @@ href="#FunctionPass"><tt>FunctionPass</tt></a>'s have, but also have the followi
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doInitialization_fn">The <tt>doInitialization(Function
- &amp;)</tt> method</a>
-</div>
+<h4>
+ <a name="doInitialization_fn">
+ The <tt>doInitialization(Function &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -950,9 +955,9 @@ fast).</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="runOnBasicBlock">The <tt>runOnBasicBlock</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -968,10 +973,11 @@ if the basic block is modified.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="doFinalization_fn">The <tt>doFinalization(Function &amp;)</tt>
- method</a>
-</div>
+<h4>
+ <a name="doFinalization_fn">
+ The <tt>doFinalization(Function &amp;)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -988,9 +994,9 @@ finalization.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsection">
+<h3>
<a name="MachineFunctionPass">The <tt>MachineFunctionPass</tt> class</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1020,10 +1026,11 @@ data)</li>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="runOnMachineFunction">The <tt>runOnMachineFunction(MachineFunction
- &amp;MF)</tt> method</a>
-</div>
+<h4>
+ <a name="runOnMachineFunction">
+ The <tt>runOnMachineFunction(MachineFunction &amp;MF)</tt> method
+ </a>
+</h4>
<div class="doc_text">
@@ -1047,9 +1054,9 @@ remember, you may not modify the LLVM <tt>Function</tt> or its contents from a
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="registration">Pass registration</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1072,9 +1079,9 @@ implement the virtual <tt>print</tt> method:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="print">The <tt>print</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1097,9 +1104,9 @@ depended on.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="interaction">Specifying interactions between passes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1122,9 +1129,9 @@ having any prerequisite passes, and invalidating <b>all</b> other passes.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="getAnalysisUsage">The <tt>getAnalysisUsage</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1142,9 +1149,12 @@ object:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="AU::addRequired">The <tt>AnalysisUsage::addRequired&lt;&gt;</tt> and <tt>AnalysisUsage::addRequiredTransitive&lt;&gt;</tt> methods</a>
-</div>
+<h4>
+ <a name="AU::addRequired">
+ The <tt>AnalysisUsage::addRequired&lt;&gt;</tt>
+ and <tt>AnalysisUsage::addRequiredTransitive&lt;&gt;</tt> methods
+ </a>
+</h4>
<div class="doc_text">
<p>
@@ -1168,9 +1178,11 @@ pass is.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="AU::addPreserved">The <tt>AnalysisUsage::addPreserved&lt;&gt;</tt> method</a>
-</div>
+<h4>
+ <a name="AU::addPreserved">
+ The <tt>AnalysisUsage::addPreserved&lt;&gt;</tt> method
+ </a>
+</h4>
<div class="doc_text">
<p>
@@ -1203,9 +1215,11 @@ the fact that it hacks on the CFG.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="AU::examples">Example implementations of <tt>getAnalysisUsage</tt></a>
-</div>
+<h4>
+ <a name="AU::examples">
+ Example implementations of <tt>getAnalysisUsage</tt>
+ </a>
+</h4>
<div class="doc_text">
@@ -1220,10 +1234,12 @@ the fact that it hacks on the CFG.
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
- <a name="getAnalysis">The <tt>getAnalysis&lt;&gt;</tt> and
-<tt>getAnalysisIfAvailable&lt;&gt;</tt> methods</a>
-</div>
+<h4>
+ <a name="getAnalysis">
+ The <tt>getAnalysis&lt;&gt;</tt> and
+ <tt>getAnalysisIfAvailable&lt;&gt;</tt> methods
+ </a>
+</h4>
<div class="doc_text">
@@ -1278,9 +1294,9 @@ if it is active. For example:</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="analysisgroup">Implementing Analysis Groups</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1305,9 +1321,9 @@ Analysis Groups.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="agconcepts">Analysis Group Concepts</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1356,9 +1372,9 @@ hypothetical example) instead.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="registerag">Using <tt>RegisterAnalysisGroup</tt></a>
-</div>
+</h4>
<div class="doc_text">
@@ -1418,9 +1434,9 @@ pass is the default implementation for the interface.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="passStatistics">Pass Statistics</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1435,9 +1451,9 @@ line. See the <a href="http://llvm.org/docs/ProgrammersManual.html#Statistic">St
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="passmanager">What PassManager does</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1610,9 +1626,9 @@ anymore, and therefore do not have to compute it twice.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="releaseMemory">The <tt>releaseMemory</tt> method</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1636,9 +1652,9 @@ class, before the next call of <tt>run*</tt> in your pass.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="registering">Registering dynamically loaded passes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1671,9 +1687,9 @@ register on load and unregister at unload.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
+<h3>
<a name="registering_existing">Using existing registries</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1736,9 +1752,9 @@ call line to <tt>llvm/Codegen/LinkAllCodegenComponents.h</tt>.</p>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsection">
+<h3>
<a name="registering_new">Creating new registries</a>
-</div>
+</h3>
<div class="doc_text">
@@ -1769,9 +1785,9 @@ creator.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="debughints">Using GDB with dynamically loaded passes</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1789,9 +1805,9 @@ on that.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="breakpoint">Setting a breakpoint in your pass</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1834,9 +1850,9 @@ or do other standard debugging stuff.</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="debugmisc">Miscellaneous Problems</a>
-</div>
+</h4>
<div class="doc_text">
@@ -1867,9 +1883,9 @@ href="mailto:sabre@nondot.org">Chris</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section">
+<h2>
<a name="future">Future extensions planned</a>
-</div>
+</h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -1881,9 +1897,9 @@ where we are going:</p>
</div>
<!-- _______________________________________________________________________ -->
-<div class="doc_subsubsection">
+<h4>
<a name="SMP">Multithreaded LLVM</a>
-</div>
+</h4>
<div class="doc_text">
diff --git a/docs/index.html b/docs/index.html
index f0bd103..e40877c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -7,7 +7,7 @@
</head>
<body>
-<div class="doc_title">Documentation for the LLVM System at SVN head</div>
+<h1>Documentation for the LLVM System at SVN head</h1>
<p class="doc_warning">If you are using a released version of LLVM,
see <a href="http://llvm.org/releases/">the download page</a> to find
@@ -39,7 +39,7 @@ your documentation.</p>
</div>
<!--=======================================================================-->
-<div class="doc_section"><a name="llvmdesign">LLVM Design &amp; Overview</a></div>
+<h2><a name="llvmdesign">LLVM Design &amp; Overview</a></h2>
<!--=======================================================================-->
<ul>
@@ -57,7 +57,7 @@ frequent questions about LLVM's most frequently misunderstood instruction.</li>
</ul>
<!--=======================================================================-->
-<div class="doc_section"><a name="userguide">LLVM User Guides</a></div>
+<h2><a name="userguide">LLVM User Guides</a></h2>
<!--=======================================================================-->
<ul>
@@ -131,7 +131,7 @@ href="irc://irc.oftc.net/llvm">join #llvm on irc.oftc.net</a> directly.</li>
<!--=======================================================================-->
-<div class="doc_section"><a name="llvmprog">General LLVM Programming Documentation</a></div>
+<h2><a name="llvmprog">General LLVM Programming Documentation</a></h2>
<!--=======================================================================-->
<ul>
@@ -179,7 +179,7 @@ href="http://llvm.org/doxygen/inherits.html">classes</a>)
</ul>
<!--=======================================================================-->
-<div class="doc_section"><a name="subsystems">LLVM Subsystem Documentation</a></div>
+<h2><a name="subsystems">LLVM Subsystem Documentation</a></h2>
<!--=======================================================================-->
<ul>
@@ -246,7 +246,7 @@ JITed code with GDB.</li>
<!--=======================================================================-->
-<div class="doc_section"><a name="maillist">LLVM Mailing Lists</a></div>
+<h2><a name="maillist">LLVM Mailing Lists</a></h2>
<!--=======================================================================-->
<ul>
diff --git a/docs/tutorial/LangImpl1.html b/docs/tutorial/LangImpl1.html
index c96cb9f..cc2fa97 100644
--- a/docs/tutorial/LangImpl1.html
+++ b/docs/tutorial/LangImpl1.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Tutorial Introduction and the Lexer</div>
+<h1>Kaleidoscope: Tutorial Introduction and the Lexer</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -30,7 +30,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Tutorial Introduction</a></div>
+<h2><a name="intro">Tutorial Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -123,7 +123,7 @@ languages!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="language">The Basic Language</a></div>
+<h2><a name="language">The Basic Language</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -181,7 +181,7 @@ a Mandelbrot Set</a> at various levels of magnification.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="lexer">The Lexer</a></div>
+<h2><a name="lexer">The Lexer</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl2.html b/docs/tutorial/LangImpl2.html
index ac4f1ee..bfe8d3f 100644
--- a/docs/tutorial/LangImpl2.html
+++ b/docs/tutorial/LangImpl2.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Implementing a Parser and AST</div>
+<h1>Kaleidoscope: Implementing a Parser and AST</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -36,7 +36,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 2 Introduction</a></div>
+<h2><a name="intro">Chapter 2 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -61,7 +61,7 @@ Tree.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="ast">The Abstract Syntax Tree (AST)</a></div>
+<h2><a name="ast">The Abstract Syntax Tree (AST)</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -178,7 +178,7 @@ bodies in Kaleidoscope.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserbasics">Parser Basics</a></div>
+<h2><a name="parserbasics">Parser Basics</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -239,8 +239,7 @@ piece of our grammar: numeric literals.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserprimexprs">Basic Expression
- Parsing</a></div>
+<h2><a name="parserprimexprs">Basic Expression Parsing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -394,8 +393,7 @@ They are a bit more complex.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserbinops">Binary Expression
- Parsing</a></div>
+<h2><a name="parserbinops">Binary Expression Parsing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -617,7 +615,7 @@ handle function definitions, etc.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parsertop">Parsing the Rest</a></div>
+<h2><a name="parsertop">Parsing the Rest</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -714,7 +712,7 @@ actually <em>execute</em> this code we've built!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="driver">The Driver</a></div>
+<h2><a name="driver">The Driver</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -753,7 +751,7 @@ type "4+5;", and the parser will know you are done.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="conclusions">Conclusions</a></div>
+<h2><a name="conclusions">Conclusions</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -790,7 +788,7 @@ Representation (IR) from the AST.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl3.html b/docs/tutorial/LangImpl3.html
index 42e5169..468a1bf 100644
--- a/docs/tutorial/LangImpl3.html
+++ b/docs/tutorial/LangImpl3.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Code generation to LLVM IR</div>
+<h1>Kaleidoscope: Code generation to LLVM IR</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -34,7 +34,7 @@ Support</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 3 Introduction</a></div>
+<h2><a name="intro">Chapter 3 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -57,7 +57,7 @@ releases page</a>.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="basics">Code Generation Setup</a></div>
+<h2><a name="basics">Code Generation Setup</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -147,7 +147,7 @@ has already been done, and we'll just use it to emit code.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="exprs">Expression Code Generation</a></div>
+<h2><a name="exprs">Expression Code Generation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -293,7 +293,7 @@ basic framework.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="funcs">Function Code Generation</a></div>
+<h2><a name="funcs">Function Code Generation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -515,8 +515,7 @@ def bar() foo(1, 2); # error, unknown function "foo"
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="driver">Driver Changes and
-Closing Thoughts</a></div>
+<h2><a name="driver">Driver Changes and Closing Thoughts</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -657,7 +656,7 @@ support</a> to this so we can actually start running code!</p>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl4.html b/docs/tutorial/LangImpl4.html
index 2d87622..d73f8a3 100644
--- a/docs/tutorial/LangImpl4.html
+++ b/docs/tutorial/LangImpl4.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Adding JIT and Optimizer Support</div>
+<h1>Kaleidoscope: Adding JIT and Optimizer Support</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -33,7 +33,7 @@ Flow</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 4 Introduction</a></div>
+<h2><a name="intro">Chapter 4 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -48,8 +48,7 @@ for the Kaleidoscope language.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="trivialconstfold">Trivial Constant
-Folding</a></div>
+<h2><a name="trivialconstfold">Trivial Constant Folding</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -134,8 +133,7 @@ range of optimizations that you can use, in the form of "passes".</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="optimizerpasses">LLVM Optimization
- Passes</a></div>
+<h2><a name="optimizerpasses">LLVM Optimization Passes</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -266,7 +264,7 @@ executing it!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="jit">Adding a JIT Compiler</a></div>
+<h2><a name="jit">Adding a JIT Compiler</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -474,7 +472,7 @@ tackling some interesting LLVM IR issues along the way.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl5.html b/docs/tutorial/LangImpl5.html
index 2c1a07f..4fbf7be 100644
--- a/docs/tutorial/LangImpl5.html
+++ b/docs/tutorial/LangImpl5.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: Control Flow</div>
+<h1>Kaleidoscope: Extending the Language: Control Flow</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -48,7 +48,7 @@ User-defined Operators</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 5 Introduction</a></div>
+<h2><a name="intro">Chapter 5 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -65,7 +65,7 @@ have an if/then/else expression plus a simple 'for' loop.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="ifthen">If/Then/Else</a></div>
+<h2><a name="ifthen">If/Then/Else</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -111,8 +111,7 @@ pieces.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="iflexer">Lexer Extensions for
-If/Then/Else</a></div>
+<h4><a name="iflexer">Lexer Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
@@ -146,8 +145,7 @@ stuff:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifast">AST Extensions for
- If/Then/Else</a></div>
+<h4><a name="ifast">AST Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -172,8 +170,7 @@ public:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifparser">Parser Extensions for
-If/Then/Else</a></div>
+<h4><a name="ifparser">Parser Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -231,7 +228,7 @@ static ExprAST *ParsePrimary() {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifir">LLVM IR for If/Then/Else</a></div>
+<h4><a name="ifir">LLVM IR for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -347,8 +344,7 @@ directly.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifcodegen">Code Generation for
-If/Then/Else</a></div>
+<h4><a name="ifcodegen">Code Generation for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -501,7 +497,7 @@ another useful expression that is familiar from non-functional languages...</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="for">'for' Loop Expression</a></div>
+<h2><a name="for">'for' Loop Expression</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -536,8 +532,7 @@ support this.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forlexer">Lexer Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forlexer">Lexer Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -566,8 +561,7 @@ the 'for' Loop</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forast">AST Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forast">AST Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -593,8 +587,7 @@ public:
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forparser">Parser Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forparser">Parser Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -653,8 +646,7 @@ static ExprAST *ParseForExpr() {
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forir">LLVM IR for
-the 'for' Loop</a></div>
+<h4><a name="forir">LLVM IR for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -699,8 +691,7 @@ expressions, and some basic blocks. Lets see how this fits together.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forcodegen">Code Generation for
-the 'for' Loop</a></div>
+<h4><a name="forcodegen">Code Generation for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -877,7 +868,7 @@ language.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl6.html b/docs/tutorial/LangImpl6.html
index 72fa9c3..510d9dd 100644
--- a/docs/tutorial/LangImpl6.html
+++ b/docs/tutorial/LangImpl6.html
@@ -11,7 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: User-defined Operators</div>
+<h1>Kaleidoscope: Extending the Language: User-defined Operators</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -34,7 +34,7 @@ Variables / SSA Construction</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 6 Introduction</a></div>
+<h2><a name="intro">Chapter 6 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -60,7 +60,7 @@ an example of what you can build with Kaleidoscope and its feature set.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="idea">User-defined Operators: the Idea</a></div>
+<h2><a name="idea">User-defined Operators: the Idea</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -125,7 +125,7 @@ operators.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="binary">User-defined Binary Operators</a></div>
+<h2><a name="binary">User-defined Binary Operators</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -342,7 +342,7 @@ see what it takes.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="unary">User-defined Unary Operators</a></div>
+<h2><a name="unary">User-defined Unary Operators</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -491,7 +491,7 @@ is simpler primarily because it doesn't need to handle any predefined operators.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="example">Kicking the Tires</a></div>
+<h2><a name="example">Kicking the Tires</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -796,7 +796,7 @@ add variable mutation without building SSA in your front-end.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl7.html b/docs/tutorial/LangImpl7.html
index 732d908..fc49d07 100644
--- a/docs/tutorial/LangImpl7.html
+++ b/docs/tutorial/LangImpl7.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: Mutable Variables</div>
+<h1>Kaleidoscope: Extending the Language: Mutable Variables</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -38,7 +38,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 7 Introduction</a></div>
+<h2><a name="intro">Chapter 7 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -66,7 +66,7 @@ support for this, though the way it works is a bit unexpected for some.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="why">Why is this a hard problem?</a></div>
+<h2><a name="why">Why is this a hard problem?</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -140,7 +140,7 @@ logic.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="memory">Memory in LLVM</a></div>
+<h2><a name="memory">Memory in LLVM</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -321,8 +321,7 @@ variables now!
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="kalvars">Mutable Variables in
-Kaleidoscope</a></div>
+<h2><a name="kalvars">Mutable Variables in Kaleidoscope</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -378,8 +377,7 @@ Kaleidoscope to support new variable definitions.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="adjustments">Adjusting Existing Variables for
-Mutation</a></div>
+<h2><a name="adjustments">Adjusting Existing Variables for Mutation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -648,7 +646,7 @@ we'll add the assignment operator.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="assignment">New Assignment Operator</a></div>
+<h2><a name="assignment">New Assignment Operator</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -745,8 +743,7 @@ add this next!
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="localvars">User-defined Local
-Variables</a></div>
+<h2><a name="localvars">User-defined Local Variables</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -979,7 +976,7 @@ anywhere in sight.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/LangImpl8.html b/docs/tutorial/LangImpl8.html
index 5f993ec..449ac70 100644
--- a/docs/tutorial/LangImpl8.html
+++ b/docs/tutorial/LangImpl8.html
@@ -11,8 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Conclusion and other useful LLVM
- tidbits</div>
+<h1>Kaleidoscope: Conclusion and other useful LLVM tidbits</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -43,7 +42,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="conclusion">Tutorial Conclusion</a></div>
+<h2><a name="conclusion">Tutorial Conclusion</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -154,8 +153,7 @@ are very useful if you want to take advantage of LLVM's capabilities.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="llvmirproperties">Properties of the LLVM
-IR</a></div>
+<h2><a name="llvmirproperties">Properties of the LLVM IR</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -166,8 +164,7 @@ get these out of the way right now, shall we?</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="targetindep">Target
-Independence</a></div>
+<h4><a name="targetindep">Target Independence</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -221,7 +218,7 @@ in-kernel language.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="safety">Safety Guarantees</a></div>
+<h4><a name="safety">Safety Guarantees</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -243,8 +240,7 @@ list</a> if you are interested in more details.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="langspecific">Language-Specific
-Optimizations</a></div>
+<h4><a name="langspecific">Language-Specific Optimizations</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -298,7 +294,7 @@ language-specific AST.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="tipsandtricks">Tips and Tricks</a></div>
+<h2><a name="tipsandtricks">Tips and Tricks</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -310,8 +306,7 @@ everyone rediscover them, this section talks about some of these issues.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="offsetofsizeof">Implementing portable
-offsetof/sizeof</a></div>
+<h4><a name="offsetofsizeof">Implementing portable offsetof/sizeof</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -331,8 +326,7 @@ in a portable way.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="gcstack">Garbage Collected
-Stack Frames</a></div>
+<h4><a name="gcstack">Garbage Collected Stack Frames</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl1.html b/docs/tutorial/OCamlLangImpl1.html
index 3ec7c1e..5446b7a 100644
--- a/docs/tutorial/OCamlLangImpl1.html
+++ b/docs/tutorial/OCamlLangImpl1.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Tutorial Introduction and the Lexer</div>
+<h1>Kaleidoscope: Tutorial Introduction and the Lexer</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -35,7 +35,7 @@ AST</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Tutorial Introduction</a></div>
+<h2><a name="intro">Tutorial Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -130,7 +130,7 @@ languages!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="language">The Basic Language</a></div>
+<h2><a name="language">The Basic Language</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -188,7 +188,7 @@ a Mandelbrot Set</a> at various levels of magnification.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="lexer">The Lexer</a></div>
+<h2><a name="lexer">The Lexer</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl2.html b/docs/tutorial/OCamlLangImpl2.html
index 9b00232..deb592e 100644
--- a/docs/tutorial/OCamlLangImpl2.html
+++ b/docs/tutorial/OCamlLangImpl2.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Implementing a Parser and AST</div>
+<h1>Kaleidoscope: Implementing a Parser and AST</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -40,7 +40,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 2 Introduction</a></div>
+<h2><a name="intro">Chapter 2 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -65,7 +65,7 @@ Tree.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="ast">The Abstract Syntax Tree (AST)</a></div>
+<h2><a name="ast">The Abstract Syntax Tree (AST)</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -146,7 +146,7 @@ bodies in Kaleidoscope.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserbasics">Parser Basics</a></div>
+<h2><a name="parserbasics">Parser Basics</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -181,8 +181,7 @@ piece of our grammar: numeric literals.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserprimexprs">Basic Expression
- Parsing</a></div>
+<h2><a name="parserprimexprs">Basic Expression Parsing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -303,8 +302,7 @@ They are a bit more complex.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parserbinops">Binary Expression
- Parsing</a></div>
+<h2><a name="parserbinops">Binary Expression Parsing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -517,7 +515,7 @@ handle function definitions, etc.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="parsertop">Parsing the Rest</a></div>
+<h2><a name="parsertop">Parsing the Rest</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -596,7 +594,7 @@ actually <em>execute</em> this code we've built!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="driver">The Driver</a></div>
+<h2><a name="driver">The Driver</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -652,7 +650,7 @@ type "4+5;", and the parser will know you are done.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="conclusions">Conclusions</a></div>
+<h2><a name="conclusions">Conclusions</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -689,7 +687,7 @@ Representation (IR) from the AST.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl3.html b/docs/tutorial/OCamlLangImpl3.html
index e7c419e..cf5afe9 100644
--- a/docs/tutorial/OCamlLangImpl3.html
+++ b/docs/tutorial/OCamlLangImpl3.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Code generation to LLVM IR</div>
+<h1>Kaleidoscope: Code generation to LLVM IR</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -38,7 +38,7 @@ Support</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 3 Introduction</a></div>
+<h2><a name="intro">Chapter 3 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -57,7 +57,7 @@ LLVM SVN to work. LLVM 2.2 and before will not work with it.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="basics">Code Generation Setup</a></div>
+<h2><a name="basics">Code Generation Setup</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -128,7 +128,7 @@ that this has already been done, and we'll just use it to emit code.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="exprs">Expression Code Generation</a></div>
+<h2><a name="exprs">Expression Code Generation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -263,7 +263,7 @@ basic framework.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="funcs">Function Code Generation</a></div>
+<h2><a name="funcs">Function Code Generation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -466,8 +466,7 @@ def bar() foo(1, 2); # error, unknown function "foo"
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="driver">Driver Changes and
-Closing Thoughts</a></div>
+<h2><a name="driver">Driver Changes and Closing Thoughts</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -607,7 +606,7 @@ support</a> to this so we can actually start running code!</p>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl4.html b/docs/tutorial/OCamlLangImpl4.html
index 2219f3a..e424045 100644
--- a/docs/tutorial/OCamlLangImpl4.html
+++ b/docs/tutorial/OCamlLangImpl4.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Adding JIT and Optimizer Support</div>
+<h1>Kaleidoscope: Adding JIT and Optimizer Support</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -37,7 +37,7 @@ Flow</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 4 Introduction</a></div>
+<h2><a name="intro">Chapter 4 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -52,8 +52,7 @@ for the Kaleidoscope language.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="trivialconstfold">Trivial Constant
-Folding</a></div>
+<h2><a name="trivialconstfold">Trivial Constant Folding</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -148,8 +147,7 @@ range of optimizations that you can use, in the form of "passes".</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="optimizerpasses">LLVM Optimization
- Passes</a></div>
+<h2><a name="optimizerpasses">LLVM Optimization Passes</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -283,7 +281,7 @@ executing it!</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="jit">Adding a JIT Compiler</a></div>
+<h2><a name="jit">Adding a JIT Compiler</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -486,7 +484,7 @@ constructs</a>, tackling some interesting LLVM IR issues along the way.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl5.html b/docs/tutorial/OCamlLangImpl5.html
index 74f28e7..59c1749 100644
--- a/docs/tutorial/OCamlLangImpl5.html
+++ b/docs/tutorial/OCamlLangImpl5.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: Control Flow</div>
+<h1>Kaleidoscope: Extending the Language: Control Flow</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -52,7 +52,7 @@ User-defined Operators</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 5 Introduction</a></div>
+<h2><a name="intro">Chapter 5 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -69,7 +69,7 @@ have an if/then/else expression plus a simple 'for' loop.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="ifthen">If/Then/Else</a></div>
+<h2><a name="ifthen">If/Then/Else</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -115,8 +115,7 @@ pieces.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="iflexer">Lexer Extensions for
-If/Then/Else</a></div>
+<h4><a name="iflexer">Lexer Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
@@ -153,8 +152,7 @@ stuff:</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifast">AST Extensions for
- If/Then/Else</a></div>
+<h4><a name="ifast">AST Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -175,8 +173,7 @@ type expr =
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifparser">Parser Extensions for
-If/Then/Else</a></div>
+<h4><a name="ifparser">Parser Extensions for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -214,7 +211,7 @@ let rec parse_primary = parser
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifir">LLVM IR for If/Then/Else</a></div>
+<h4><a name="ifir">LLVM IR for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -331,8 +328,7 @@ directly.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="ifcodegen">Code Generation for
-If/Then/Else</a></div>
+<h4><a name="ifcodegen">Code Generation for If/Then/Else</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -493,7 +489,7 @@ another useful expression that is familiar from non-functional languages...</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="for">'for' Loop Expression</a></div>
+<h2><a name="for">'for' Loop Expression</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -528,8 +524,7 @@ support this.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forlexer">Lexer Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forlexer">Lexer Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -559,8 +554,7 @@ the 'for' Loop</a></div>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forast">AST Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forast">AST Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -580,8 +574,7 @@ type expr =
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forparser">Parser Extensions for
-the 'for' Loop</a></div>
+<h4><a name="forparser">Parser Extensions for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -628,8 +621,7 @@ let rec parse_primary = parser
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forir">LLVM IR for
-the 'for' Loop</a></div>
+<h4><a name="forir">LLVM IR for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -674,8 +666,7 @@ expressions, and some basic blocks. Lets see how this fits together.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="forcodegen">Code Generation for
-the 'for' Loop</a></div>
+<h4><a name="forcodegen">Code Generation for the 'for' Loop</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -852,7 +843,7 @@ to our poor innocent language.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl6.html b/docs/tutorial/OCamlLangImpl6.html
index c5772a2..693aafc 100644
--- a/docs/tutorial/OCamlLangImpl6.html
+++ b/docs/tutorial/OCamlLangImpl6.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: User-defined Operators</div>
+<h1>Kaleidoscope: Extending the Language: User-defined Operators</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -38,7 +38,7 @@ Variables / SSA Construction</li>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 6 Introduction</a></div>
+<h2><a name="intro">Chapter 6 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -64,7 +64,7 @@ an example of what you can build with Kaleidoscope and its feature set.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="idea">User-defined Operators: the Idea</a></div>
+<h2><a name="idea">User-defined Operators: the Idea</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -129,7 +129,7 @@ operators.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="binary">User-defined Binary Operators</a></div>
+<h2><a name="binary">User-defined Binary Operators</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -320,7 +320,7 @@ see what it takes.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="unary">User-defined Unary Operators</a></div>
+<h2><a name="unary">User-defined Unary Operators</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -472,7 +472,7 @@ is simpler primarily because it doesn't need to handle any predefined operators.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="example">Kicking the Tires</a></div>
+<h2><a name="example">Kicking the Tires</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -778,7 +778,7 @@ add variable mutation without building SSA in your front-end.</p>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl7.html b/docs/tutorial/OCamlLangImpl7.html
index 42d8141..aebc81c 100644
--- a/docs/tutorial/OCamlLangImpl7.html
+++ b/docs/tutorial/OCamlLangImpl7.html
@@ -13,7 +13,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Extending the Language: Mutable Variables</div>
+<h1>Kaleidoscope: Extending the Language: Mutable Variables</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -42,7 +42,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="intro">Chapter 7 Introduction</a></div>
+<h2><a name="intro">Chapter 7 Introduction</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -70,7 +70,7 @@ support for this, though the way it works is a bit unexpected for some.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="why">Why is this a hard problem?</a></div>
+<h2><a name="why">Why is this a hard problem?</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -144,7 +144,7 @@ logic.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="memory">Memory in LLVM</a></div>
+<h2><a name="memory">Memory in LLVM</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -325,8 +325,7 @@ variables now!
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="kalvars">Mutable Variables in
-Kaleidoscope</a></div>
+<h2><a name="kalvars">Mutable Variables in Kaleidoscope</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -382,8 +381,7 @@ Kaleidoscope to support new variable definitions.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="adjustments">Adjusting Existing Variables for
-Mutation</a></div>
+<h2><a name="adjustments">Adjusting Existing Variables for Mutation</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -672,7 +670,7 @@ we'll add the assignment operator.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="assignment">New Assignment Operator</a></div>
+<h2><a name="assignment">New Assignment Operator</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -773,8 +771,7 @@ add this next!
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="localvars">User-defined Local
-Variables</a></div>
+<h2><a name="localvars">User-defined Local Variables</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -956,7 +953,7 @@ anywhere in sight.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="code">Full Code Listing</a></div>
+<h2><a name="code">Full Code Listing</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
diff --git a/docs/tutorial/OCamlLangImpl8.html b/docs/tutorial/OCamlLangImpl8.html
index 5f993ec..449ac70 100644
--- a/docs/tutorial/OCamlLangImpl8.html
+++ b/docs/tutorial/OCamlLangImpl8.html
@@ -11,8 +11,7 @@
<body>
-<div class="doc_title">Kaleidoscope: Conclusion and other useful LLVM
- tidbits</div>
+<h1>Kaleidoscope: Conclusion and other useful LLVM tidbits</h1>
<ul>
<li><a href="index.html">Up to Tutorial Index</a></li>
@@ -43,7 +42,7 @@
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="conclusion">Tutorial Conclusion</a></div>
+<h2><a name="conclusion">Tutorial Conclusion</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -154,8 +153,7 @@ are very useful if you want to take advantage of LLVM's capabilities.</p>
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="llvmirproperties">Properties of the LLVM
-IR</a></div>
+<h2><a name="llvmirproperties">Properties of the LLVM IR</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -166,8 +164,7 @@ get these out of the way right now, shall we?</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="targetindep">Target
-Independence</a></div>
+<h4><a name="targetindep">Target Independence</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -221,7 +218,7 @@ in-kernel language.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="safety">Safety Guarantees</a></div>
+<h4><a name="safety">Safety Guarantees</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -243,8 +240,7 @@ list</a> if you are interested in more details.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="langspecific">Language-Specific
-Optimizations</a></div>
+<h4><a name="langspecific">Language-Specific Optimizations</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -298,7 +294,7 @@ language-specific AST.
</div>
<!-- *********************************************************************** -->
-<div class="doc_section"><a name="tipsandtricks">Tips and Tricks</a></div>
+<h2><a name="tipsandtricks">Tips and Tricks</a></h2>
<!-- *********************************************************************** -->
<div class="doc_text">
@@ -310,8 +306,7 @@ everyone rediscover them, this section talks about some of these issues.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="offsetofsizeof">Implementing portable
-offsetof/sizeof</a></div>
+<h4><a name="offsetofsizeof">Implementing portable offsetof/sizeof</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
@@ -331,8 +326,7 @@ in a portable way.</p>
</div>
<!-- ======================================================================= -->
-<div class="doc_subsubsection"><a name="gcstack">Garbage Collected
-Stack Frames</a></div>
+<h4><a name="gcstack">Garbage Collected Stack Frames</a></h4>
<!-- ======================================================================= -->
<div class="doc_text">
diff --git a/docs/tutorial/index.html b/docs/tutorial/index.html
index 11dd5e2..0a8cae2 100644
--- a/docs/tutorial/index.html
+++ b/docs/tutorial/index.html
@@ -12,7 +12,7 @@
<body>
-<div class="doc_title"> LLVM Tutorial: Table of Contents </div>
+<h1>LLVM Tutorial: Table of Contents</h1>
<ol>
<li>Kaleidoscope: Implementing a Language with LLVM