mirror of
https://github.com/RPCSX/llvm.git
synced 2025-04-02 16:21:36 +00:00
Documentation: fix HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ea2381eb71
commit
e15192b36b
@ -462,23 +462,23 @@ emitted as their code, followed by the extra data.
|
||||
<p>The possible operand encodings are:</p>
|
||||
|
||||
<ol>
|
||||
<li value="1">Fixed: The field should be emitted as
|
||||
<li>Fixed: The field should be emitted as
|
||||
a <a href="#fixedwidth">fixed-width value</a>, whose width is specified by
|
||||
the operand's extra data.</li>
|
||||
<li value="2">VBR: The field should be emitted as
|
||||
<li>VBR: The field should be emitted as
|
||||
a <a href="#variablewidth">variable-width value</a>, whose width is
|
||||
specified by the operand's extra data.</li>
|
||||
<li value="3">Array: This field is an array of values. The array operand
|
||||
<li>Array: This field is an array of values. The array operand
|
||||
has no extra data, but expects another operand to follow it which indicates
|
||||
the element type of the array. When reading an array in an abbreviated
|
||||
record, the first integer is a vbr6 that indicates the array length,
|
||||
followed by the encoded elements of the array. An array may only occur as
|
||||
the last operand of an abbreviation (except for the one final operand that
|
||||
gives the array's type).</li>
|
||||
<li value="4">Char6: This field should be emitted as
|
||||
<li>Char6: This field should be emitted as
|
||||
a <a href="#char6">char6-encoded value</a>. This operand type takes no
|
||||
extra data.</li>
|
||||
<li value="5">Blob: This field is emitted as a vbr6, followed by padding to a
|
||||
<li>Blob: This field is emitted as a vbr6, followed by padding to a
|
||||
32-bit boundary (for alignment) and an array of 8-bit objects. The array of
|
||||
bytes is further followed by tail padding to ensure that its total length is
|
||||
a multiple of 4 bytes. This makes it very efficient for the reader to
|
||||
|
@ -67,7 +67,7 @@
|
||||
|
||||
<ol>
|
||||
|
||||
<li><p><a href=http://www.cmake.org/cmake/resources/software.html>Download</a>
|
||||
<li><p><a href="http://www.cmake.org/cmake/resources/software.html">Download</a>
|
||||
and install CMake. Version 2.6.2 is the minimum required.</p>
|
||||
|
||||
<li><p>Open a shell. Your development tools must be reachable from this
|
||||
@ -180,7 +180,7 @@
|
||||
</div>
|
||||
|
||||
<p>Variables are stored on the CMake cache. This is a file
|
||||
named <it>CMakeCache.txt</it> on the root of the build
|
||||
named <tt>CMakeCache.txt</tt> on the root of the build
|
||||
directory. Do not hand-edit it.</p>
|
||||
|
||||
<p>Variables are listed here appending its type after a colon. It is
|
||||
|
@ -1441,9 +1441,9 @@ string "<tt>-pos1 -foo -bar baz -pos2 -bork</tt>" would cause the "<tt>-foo -bar
|
||||
|
||||
<li><a name="cl::Sink">The <b><tt>cl::Sink</tt></b></a> modifier is
|
||||
used to handle unknown options. If there is at least one option with
|
||||
<b><tt>cl::Sink</tt></b></a> modifier specified, the parser passes
|
||||
<tt>cl::Sink</tt> modifier specified, the parser passes
|
||||
unrecognized option strings to it as values instead of signaling an
|
||||
error. As with <b><tt>cl::CommaSeparated</tt></b></a>, this modifier
|
||||
error. As with <tt>cl::CommaSeparated</tt>, this modifier
|
||||
only makes sense with a <a href="#cl::list">cl::list</a> option.</li>
|
||||
|
||||
</ul>
|
||||
|
@ -426,6 +426,8 @@ destination address for a <a href="#llvm_eh_sjlj_longjmp"><tt>
|
||||
llvm.eh.sjlj.longjmp</tt></a> in the second word. The following three words
|
||||
are available for use in a target-specific manner.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- ======================================================================= -->
|
||||
<div class="doc_section">
|
||||
<a name="asm">Asm Table Formats</a>
|
||||
|
@ -334,11 +334,11 @@ void visitGCRoots(void (*Visitor)(void **Root, const void *Meta)) {
|
||||
|
||||
// For roots [0, NumMeta), the metadata pointer is in the FrameMap.
|
||||
for (unsigned e = R->Map->NumMeta; i != e; ++i)
|
||||
Visitor(&R->Roots[i], R->Map->Meta[i]);
|
||||
Visitor(&R->Roots[i], R->Map->Meta[i]);
|
||||
|
||||
// For roots [NumMeta, NumRoots), the metadata pointer is null.
|
||||
for (unsigned e = R->Map->NumRoots; i != e; ++i)
|
||||
Visitor(&R->Roots[i], NULL);
|
||||
Visitor(&R->Roots[i], NULL);
|
||||
}
|
||||
}</pre></div>
|
||||
|
||||
@ -398,7 +398,7 @@ program.</p>
|
||||
</div>
|
||||
|
||||
<div class="doc_code"><tt>
|
||||
define <i>ty</i> @<i>name</i>(...) <u>gc "<i>name</i>"</u> { ...
|
||||
define <i>ty</i> @<i>name</i>(...) <span style="text-decoration: underline">gc "<i>name</i>"</span> { ...
|
||||
</tt></div>
|
||||
|
||||
<div class="doc_text">
|
||||
|
@ -140,15 +140,15 @@
|
||||
<li>If you used CMake, then the directory you created the project files,
|
||||
the root directory will have an <tt>llvm.sln</tt> file, just
|
||||
double-click on that to open Visual Studio.</li>
|
||||
</ol></li>
|
||||
</ul></li>
|
||||
|
||||
<li>Build the LLVM Suite:
|
||||
<ol>
|
||||
<ul>
|
||||
<li>Simply build the solution.</li>
|
||||
<li>The Fibonacci project is a sample program that uses the JIT. Modify
|
||||
the project's debugging properties to provide a numeric command line
|
||||
argument. The program will print the corresponding fibonacci value.</li>
|
||||
</ol></li>
|
||||
</ul></li>
|
||||
|
||||
</ol>
|
||||
|
||||
|
@ -138,7 +138,6 @@ svn co https://llvm.org/svn/llvm-project/test-suite/branches/release_<i>XX</i>
|
||||
</pre>
|
||||
</div></li>
|
||||
|
||||
</div>
|
||||
</ol>
|
||||
</div>
|
||||
|
||||
|
@ -30,11 +30,12 @@
|
||||
<li><a href="#isa">The <tt>isa<></tt>, <tt>cast<></tt>
|
||||
and <tt>dyn_cast<></tt> templates</a> </li>
|
||||
<li><a href="#string_apis">Passing strings (the <tt>StringRef</tt>
|
||||
and <tt>Twine</tt> classes)</li>
|
||||
and <tt>Twine</tt> classes)</a>
|
||||
<ul>
|
||||
<li><a href="#StringRef">The <tt>StringRef</tt> class</a> </li>
|
||||
<li><a href="#Twine">The <tt>Twine</tt> class</a> </li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#DEBUG">The <tt>DEBUG()</tt> macro and <tt>-debug</tt>
|
||||
option</a>
|
||||
<ul>
|
||||
@ -86,9 +87,9 @@ option</a></li>
|
||||
<li><a href="#dss_othermap">Other Map-Like Container Options</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#ds_string">String-like containers</a>
|
||||
<ul>
|
||||
<!-- todo -->
|
||||
</ul></li>
|
||||
<!--<ul>
|
||||
todo
|
||||
</ul>--></li>
|
||||
<li><a href="#ds_bit">BitVector-like containers</a>
|
||||
<ul>
|
||||
<li><a href="#dss_bitvector">A dense bitvector</a></li>
|
||||
@ -525,7 +526,7 @@ it can be efficiently rendered directly into a character array. This avoids
|
||||
unnecessary heap allocation involved in constructing the temporary results of
|
||||
string concatenation. See
|
||||
"<tt><a href="/doxygen/classllvm_1_1Twine_8h-source.html">llvm/ADT/Twine.h</a></tt>"
|
||||
for more information.</p></tt>
|
||||
for more information.</p>
|
||||
|
||||
<p>As with a <tt>StringRef</tt>, <tt>Twine</tt> objects point to external memory
|
||||
and should almost never be stored or mentioned directly. They are intended
|
||||
|
@ -486,7 +486,7 @@ clients should be unaffected by this transition, unless they are used to <tt>Val
|
||||
could move to a <tt>Twine</tt> based design.</li>
|
||||
|
||||
<li><tt>isName()</tt> should be replaced with comparison
|
||||
against <tt>getName()</tt> (this is now efficient).</tt>
|
||||
against <tt>getName()</tt> (this is now efficient).
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
@ -371,8 +371,8 @@ supported include:</p>
|
||||
<dd>string value</dd>
|
||||
<dt><tt>[{ ... }]</tt></dt>
|
||||
<dd>code fragment</dd>
|
||||
<dt><tt>[ X, Y, Z ]<type></tt></dt>
|
||||
<dd>list value. <type> is the type of the list
|
||||
<dt><tt>[ X, Y, Z ]<type></tt></dt>
|
||||
<dd>list value. <type> is the type of the list
|
||||
element and is usually optional. In rare cases,
|
||||
TableGen is unable to deduce the element type in
|
||||
which case the user must specify it explicitly.</dd>
|
||||
@ -408,13 +408,13 @@ which case the user must specify it explicitly.</dd>
|
||||
<dt><tt>!strconcat(a, b)</tt></dt>
|
||||
<dd>A string value that is the result of concatenating the 'a' and 'b'
|
||||
strings.</dd>
|
||||
<dt><tt>!cast<type>(a)</tt></dt>
|
||||
<dt><tt>!cast<type>(a)</tt></dt>
|
||||
<dd>A symbol of type <em>type</em> obtained by looking up the string 'a' in
|
||||
the symbol table. If the type of 'a' does not match <em>type</em>, TableGen
|
||||
aborts with an error. !cast<string> is a special case in that the argument must
|
||||
aborts with an error. !cast<string> is a special case in that the argument must
|
||||
be an object defined by a 'def' construct.</dd>
|
||||
<dt><tt>!nameconcat<type>(a, b)</tt></dt>
|
||||
<dd>Shorthand for !cast<type>(!strconcat(a, b))</dd>
|
||||
<dd>Shorthand for !cast<type>(!strconcat(a, b))</dd>
|
||||
<dt><tt>!subst(a, b, c)</tt></dt>
|
||||
<dd>If 'a' and 'b' are of string type or are symbol references, substitute
|
||||
'b' for 'a' in 'c.' This operation is analogous to $(subst) in GNU make.</dd>
|
||||
|
@ -451,7 +451,7 @@ the <tt>RegisterTarget</tt> template to register the target. For example, the Sp
|
||||
Target llvm::TheSparcTarget;
|
||||
|
||||
extern "C" void LLVMInitializeSparcTargetInfo() {
|
||||
RegisterTarget<Triple::sparc, /*HasJIT=*/false>
|
||||
RegisterTarget<Triple::sparc, /*HasJIT=*/false>
|
||||
X(TheSparcTarget, "sparc", "Sparc");
|
||||
}
|
||||
</pre>
|
||||
@ -469,7 +469,7 @@ example. Here is an example of registering the Sparc assembly printer:
|
||||
<div class="doc_code">
|
||||
<pre>
|
||||
extern "C" void LLVMInitializeSparcAsmPrinter() {
|
||||
RegisterAsmPrinter<SparcAsmPrinter> X(TheSparcTarget);
|
||||
RegisterAsmPrinter<SparcAsmPrinter> X(TheSparcTarget);
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
|
@ -288,8 +288,8 @@ into "t.ll" and run "<tt>llvm-as < t.ll | opt -analyze -view-cfg</tt>", <a
|
||||
href="../ProgrammersManual.html#ViewGraph">a window will pop up</a> and you'll
|
||||
see this graph:</p>
|
||||
|
||||
<center><img src="LangImpl5-cfg.png" alt="Example CFG" width="423"
|
||||
height="315"></center>
|
||||
<div style="text-align: center"><img src="LangImpl5-cfg.png" alt="Example CFG" width="423"
|
||||
height="315"></div>
|
||||
|
||||
<p>Another way to get this is to call "<tt>F->viewCFG()</tt>" or
|
||||
"<tt>F->viewCFGOnly()</tt>" (where F is a "<tt>Function*</tt>") either by
|
||||
|
@ -271,8 +271,8 @@ into "t.ll" and run "<tt>llvm-as < t.ll | opt -analyze -view-cfg</tt>", <a
|
||||
href="../ProgrammersManual.html#ViewGraph">a window will pop up</a> and you'll
|
||||
see this graph:</p>
|
||||
|
||||
<center><img src="LangImpl5-cfg.png" alt="Example CFG" width="423"
|
||||
height="315"></center>
|
||||
<div style="text-align: center"><img src="LangImpl5-cfg.png" alt="Example CFG" width="423"
|
||||
height="315"></div>
|
||||
|
||||
<p>Another way to get this is to call "<tt>Llvm_analysis.view_function_cfg
|
||||
f</tt>" or "<tt>Llvm_analysis.view_function_cfg_only f</tt>" (where <tt>f</tt>
|
||||
|
Loading…
x
Reference in New Issue
Block a user