diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/CMake.html | 4 | ||||
-rw-r--r-- | docs/GoldPlugin.html | 13 | ||||
-rw-r--r-- | docs/LangRef.html | 137 |
3 files changed, 131 insertions, 23 deletions
diff --git a/docs/CMake.html b/docs/CMake.html index b329ca4..ac3b57a 100644 --- a/docs/CMake.html +++ b/docs/CMake.html @@ -248,8 +248,8 @@ <dt><b>LLVM_ENABLE_THREADS</b>:BOOL</dt> <dd>Build with threads support, if available. Defaults to ON.</dd> - <dt><b>LLVM_ENABLE_ASSERTS</b>:BOOL</dt> - <dd>Enables code asserts. Defaults to ON if and only if + <dt><b>LLVM_ENABLE_ASSERTIONS</b>:BOOL</dt> + <dd>Enables code assertions. Defaults to ON if and only if CMAKE_BUILD_TYPE is <i>Release</i>.</dd> <dt><b>LLVM_ENABLE_PIC</b>:BOOL</dt> diff --git a/docs/GoldPlugin.html b/docs/GoldPlugin.html index 6be5277..17a50ac 100644 --- a/docs/GoldPlugin.html +++ b/docs/GoldPlugin.html @@ -153,12 +153,21 @@ $ llvm-gcc -use-gold-plugin a.o b.o -o main # <-- link with LLVMgold plugin <pre class="doc_code"> export CC="$PREFIX/bin/llvm-gcc -use-gold-plugin" export CXX="$PREFIX/bin/llvm-g++ -use-gold-plugin" -export AR="$PREFIX/bin/ar --plugin libLLVMgold.so" -export NM="$PREFIX/bin/nm --plugin libLLVMgold.so" +export AR="$PREFIX/bin/ar" +export NM="$PREFIX/bin/nm" export RANLIB=/bin/true #ranlib is not needed, and doesn't support .bc files in .a export CFLAGS="-O4" </pre> </li> + <li>Or you can just set your path: + <pre class="doc_code"> +export PATH="$PREFIX/bin:$PATH" +export CC="llvm-gcc -use-gold-plugin" +export CXX="llvm-g++ -use-gold-plugin" +export RANLIB=/bin/true +export CFLAGS="-O4" + </pre> + </li> <li>Configure & build the project as usual: <tt>./configure && make && make check</tt> </li> </ul> <p> The environment variable settings may work for non-autotooled projects diff --git a/docs/LangRef.html b/docs/LangRef.html index f0a171be..89d4f93 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -89,8 +89,11 @@ <li><a href="#binaryops">Binary Operations</a> <ol> <li><a href="#i_add">'<tt>add</tt>' Instruction</a></li> + <li><a href="#i_fadd">'<tt>fadd</tt>' Instruction</a></li> <li><a href="#i_sub">'<tt>sub</tt>' Instruction</a></li> + <li><a href="#i_fsub">'<tt>fsub</tt>' Instruction</a></li> <li><a href="#i_mul">'<tt>mul</tt>' Instruction</a></li> + <li><a href="#i_fmul">'<tt>fmul</tt>' Instruction</a></li> <li><a href="#i_udiv">'<tt>udiv</tt>' Instruction</a></li> <li><a href="#i_sdiv">'<tt>sdiv</tt>' Instruction</a></li> <li><a href="#i_fdiv">'<tt>fdiv</tt>' Instruction</a></li> @@ -2503,16 +2506,15 @@ The result value has the same type as its operands.</p> <h5>Arguments:</h5> <p>The two arguments to the '<tt>add</tt>' instruction must be <a - href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>, or - <a href="#t_vector">vector</a> values. Both arguments must have identical - types.</p> + href="#t_integer">integer</a> or + <a href="#t_vector">vector</a> of integer values. Both arguments must + have identical types.</p> <h5>Semantics:</h5> -<p>The value produced is the integer or floating point sum of the two -operands.</p> +<p>The value produced is the integer sum of the two operands.</p> -<p>If an integer sum has unsigned overflow, the result returned is the +<p>If the sum has unsigned overflow, the result returned is the mathematical result modulo 2<sup>n</sup>, where n is the bit width of the result.</p> @@ -2527,6 +2529,39 @@ instruction is appropriate for both signed and unsigned integers.</p> </div> <!-- _______________________________________________________________________ --> <div class="doc_subsubsection"> + <a name="i_fadd">'<tt>fadd</tt>' Instruction</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> + +<pre> + <result> = fadd <ty> <op1>, <op2> <i>; yields {ty}:result</i> +</pre> + +<h5>Overview:</h5> + +<p>The '<tt>fadd</tt>' instruction returns the sum of its two operands.</p> + +<h5>Arguments:</h5> + +<p>The two arguments to the '<tt>fadd</tt>' instruction must be +<a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a> of +floating point values. Both arguments must have identical types.</p> + +<h5>Semantics:</h5> + +<p>The value produced is the floating point sum of the two operands.</p> + +<h5>Example:</h5> + +<pre> + <result> = fadd float 4.0, %var <i>; yields {float}:result = 4.0 + %var</i> +</pre> +</div> +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> <a name="i_sub">'<tt>sub</tt>' Instruction</a> </div> @@ -2550,16 +2585,14 @@ representations.</p> <h5>Arguments:</h5> <p>The two arguments to the '<tt>sub</tt>' instruction must be <a - href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>, - or <a href="#t_vector">vector</a> values. Both arguments must have identical - types.</p> + href="#t_integer">integer</a> or <a href="#t_vector">vector</a> of + integer values. Both arguments must have identical types.</p> <h5>Semantics:</h5> -<p>The value produced is the integer or floating point difference of -the two operands.</p> +<p>The value produced is the integer difference of the two operands.</p> -<p>If an integer difference has unsigned overflow, the result returned is the +<p>If the difference has unsigned overflow, the result returned is the mathematical result modulo 2<sup>n</sup>, where n is the bit width of the result.</p> @@ -2575,6 +2608,45 @@ instruction is appropriate for both signed and unsigned integers.</p> <!-- _______________________________________________________________________ --> <div class="doc_subsubsection"> + <a name="i_fsub">'<tt>fsub</tt>' Instruction</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> + +<pre> + <result> = fsub <ty> <op1>, <op2> <i>; yields {ty}:result</i> +</pre> + +<h5>Overview:</h5> + +<p>The '<tt>fsub</tt>' instruction returns the difference of its two +operands.</p> + +<p>Note that the '<tt>fsub</tt>' instruction is used to represent the +'<tt>fneg</tt>' instruction present in most other intermediate +representations.</p> + +<h5>Arguments:</h5> + +<p>The two arguments to the '<tt>fsub</tt>' instruction must be <a + <a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a> + of floating point values. Both arguments must have identical types.</p> + +<h5>Semantics:</h5> + +<p>The value produced is the floating point difference of the two operands.</p> + +<h5>Example:</h5> +<pre> + <result> = fsub float 4.0, %var <i>; yields {float}:result = 4.0 - %var</i> + <result> = fsub float -0.0, %val <i>; yields {float}:result = -%var</i> +</pre> +</div> + +<!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> <a name="i_mul">'<tt>mul</tt>' Instruction</a> </div> @@ -2590,16 +2662,14 @@ operands.</p> <h5>Arguments:</h5> <p>The two arguments to the '<tt>mul</tt>' instruction must be <a -href="#t_integer">integer</a>, <a href="#t_floating">floating point</a>, -or <a href="#t_vector">vector</a> values. Both arguments must have identical -types.</p> +href="#t_integer">integer</a> or <a href="#t_vector">vector</a> of integer +values. Both arguments must have identical types.</p> <h5>Semantics:</h5> -<p>The value produced is the integer or floating point product of the -two operands.</p> +<p>The value produced is the integer product of the two operands.</p> -<p>If the result of an integer multiplication has unsigned overflow, +<p>If the result of the multiplication has unsigned overflow, the result returned is the mathematical result modulo 2<sup>n</sup>, where n is the bit width of the result.</p> <p>Because LLVM integers use a two's complement representation, and the @@ -2614,6 +2684,35 @@ width of the full product.</p> </div> <!-- _______________________________________________________________________ --> +<div class="doc_subsubsection"> + <a name="i_fmul">'<tt>fmul</tt>' Instruction</a> +</div> + +<div class="doc_text"> + +<h5>Syntax:</h5> +<pre> <result> = fmul <ty> <op1>, <op2> <i>; yields {ty}:result</i> +</pre> +<h5>Overview:</h5> +<p>The '<tt>fmul</tt>' instruction returns the product of its two +operands.</p> + +<h5>Arguments:</h5> + +<p>The two arguments to the '<tt>fmul</tt>' instruction must be +<a href="#t_floating">floating point</a> or <a href="#t_vector">vector</a> +of floating point values. Both arguments must have identical types.</p> + +<h5>Semantics:</h5> + +<p>The value produced is the floating point product of the two operands.</p> + +<h5>Example:</h5> +<pre> <result> = fmul float 4.0, %var <i>; yields {float}:result = 4.0 * %var</i> +</pre> +</div> + +<!-- _______________________________________________________________________ --> <div class="doc_subsubsection"> <a name="i_udiv">'<tt>udiv</tt>' Instruction </a></div> <div class="doc_text"> @@ -7110,7 +7209,7 @@ declare void @llvm.stackprotector( i8* <guard>, i8** <slot> ) <a href="mailto:sabre@nondot.org">Chris Lattner</a><br> <a href="http://llvm.org">The LLVM Compiler Infrastructure</a><br> - Last modified: $Date: 2009-06-03 12:20:10 +0200 (Wed, 03 Jun 2009) $ + Last modified: $Date: 2009-06-05 00:49:04 +0200 (Fri, 05 Jun 2009) $ </address> </body> |