Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Dec 2011 18:27:23 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r228364 - in vendor/llvm/dist: docs lib/CodeGen lib/CodeGen/AsmPrinter lib/CodeGen/SelectionDAG lib/Target/ARM lib/Target/CppBackend lib/Target/Mips lib/Target/PowerPC lib/Target/X86 li...
Message-ID:  <201112091827.pB9IRNt5044435@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Fri Dec  9 18:27:22 2011
New Revision: 228364
URL: http://svn.freebsd.org/changeset/base/228364

Log:
  Vendor import of llvm 3.0 final release:
  http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_30/final@145349

Added:
  vendor/llvm/dist/test/CodeGen/ARM/gv-stubs-crash.ll
Modified:
  vendor/llvm/dist/docs/AliasAnalysis.html
  vendor/llvm/dist/docs/BranchWeightMetadata.html
  vendor/llvm/dist/docs/Bugpoint.html
  vendor/llvm/dist/docs/CMake.html
  vendor/llvm/dist/docs/CodeGenerator.html
  vendor/llvm/dist/docs/CodingStandards.html
  vendor/llvm/dist/docs/DebuggingJITedCode.html
  vendor/llvm/dist/docs/ExtendingLLVM.html
  vendor/llvm/dist/docs/GetElementPtr.html
  vendor/llvm/dist/docs/GoldPlugin.html
  vendor/llvm/dist/docs/HowToReleaseLLVM.html
  vendor/llvm/dist/docs/HowToSubmitABug.html
  vendor/llvm/dist/docs/LangRef.html
  vendor/llvm/dist/docs/LinkTimeOptimization.html
  vendor/llvm/dist/docs/Packaging.html
  vendor/llvm/dist/docs/Passes.html
  vendor/llvm/dist/docs/ProgrammersManual.html
  vendor/llvm/dist/docs/Projects.html
  vendor/llvm/dist/docs/ReleaseNotes.html
  vendor/llvm/dist/docs/SystemLibrary.html
  vendor/llvm/dist/docs/TableGenFundamentals.html
  vendor/llvm/dist/docs/TestingGuide.html
  vendor/llvm/dist/docs/UsingLibraries.html
  vendor/llvm/dist/docs/index.html
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMCallingConv.td
  vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td
  vendor/llvm/dist/lib/Target/CppBackend/CPPBackend.cpp
  vendor/llvm/dist/lib/Target/Mips/CMakeLists.txt
  vendor/llvm/dist/lib/Target/Mips/Makefile
  vendor/llvm/dist/lib/Target/Mips/Mips64InstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/MipsCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsInstrFPU.td
  vendor/llvm/dist/lib/Target/Mips/MipsInstrFormats.td
  vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td
  vendor/llvm/dist/lib/Target/Mips/MipsJITInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86CodeEmitter.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp
  vendor/llvm/dist/test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll
  vendor/llvm/dist/test/CodeGen/X86/dbg-i128-const.ll
  vendor/llvm/dist/test/MC/ARM/elf-thumbfunc-reloc.ll
  vendor/llvm/dist/test/MC/AsmParser/2011-09-06-NoNewline.s
  vendor/llvm/dist/test/Transforms/InstCombine/crash.ll
  vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp
  vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp
  vendor/llvm/dist/utils/release/test-release.sh

Modified: vendor/llvm/dist/docs/AliasAnalysis.html
==============================================================================
--- vendor/llvm/dist/docs/AliasAnalysis.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/AliasAnalysis.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>LLVM Alias Analysis Infrastructure</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -1060,7 +1061,7 @@ analysis directly.</p>
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-05-25 00:01:32 +0200 (Wed, 25 May 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/BranchWeightMetadata.html
==============================================================================
--- vendor/llvm/dist/docs/BranchWeightMetadata.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/BranchWeightMetadata.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>LLVM Branch Weight Metadata</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>

Modified: vendor/llvm/dist/docs/Bugpoint.html
==============================================================================
--- vendor/llvm/dist/docs/Bugpoint.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/Bugpoint.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>LLVM bugpoint tool: design and usage</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -231,7 +232,7 @@ non-obvious ways.  Here are some hints a
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-08-30 20:26:11 +0200 (Tue, 30 Aug 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/CMake.html
==============================================================================
--- vendor/llvm/dist/docs/CMake.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/CMake.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Building LLVM with CMake</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>

Modified: vendor/llvm/dist/docs/CodeGenerator.html
==============================================================================
--- vendor/llvm/dist/docs/CodeGenerator.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/CodeGenerator.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -1813,6 +1813,8 @@ $ llc -regalloc=pbqp file.bc -o pbqp.s;
   <a name="proepicode">Prolog/Epilog Code Insertion</a>
 </h3>
 
+<div>
+
 <!-- _______________________________________________________________________ -->
 <h4>
   <a name="compact_unwind">Compact Unwind</a>
@@ -1927,6 +1929,8 @@ $ llc -regalloc=pbqp file.bc -o pbqp.s;
 
 </div>
 
+</div>
+
 <!-- ======================================================================= -->
 <h3>
   <a name="latemco">Late Machine Code Optimizations</a>
@@ -2988,7 +2992,7 @@ MOVSX32rm16 -&gt; movsx, 32-bit register
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-09-19 20:15:46 +0200 (Mon, 19 Sep 2011) $
+  Last modified: $Date: 2011-11-03 07:43:54 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/CodingStandards.html
==============================================================================
--- vendor/llvm/dist/docs/CodingStandards.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/CodingStandards.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <link rel="stylesheet" href="llvm.css" type="text/css">
   <title>LLVM Coding Standards</title>
 </head>
@@ -1526,7 +1527,7 @@ something.</p>
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-08-12 21:49:16 +0200 (Fri, 12 Aug 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/DebuggingJITedCode.html
==============================================================================
--- vendor/llvm/dist/docs/DebuggingJITedCode.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/DebuggingJITedCode.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Debugging JITed Code With GDB</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -146,7 +147,7 @@ coordinate with GDB to get better debug 
   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
   <a href="mailto:reid.kleckner@gmail.com">Reid Kleckner</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-04-23 02:30:22 +0200 (Sat, 23 Apr 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/ExtendingLLVM.html
==============================================================================
--- vendor/llvm/dist/docs/ExtendingLLVM.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/ExtendingLLVM.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Extending LLVM: Adding instructions, intrinsics, types, etc.</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -384,7 +385,7 @@ void calcTypeName(const Type *Ty,
 
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2011-06-30 08:37:07 +0200 (Thu, 30 Jun 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/GetElementPtr.html
==============================================================================
--- vendor/llvm/dist/docs/GetElementPtr.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/GetElementPtr.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -746,8 +746,8 @@ idx3 = (char*) &amp;MyVar + 8
   src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS"></a>
   <a href="http://validator.w3.org/check/referer"><img
   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
-  <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br/>
-  Last modified: $Date: 2011-04-23 02:30:22 +0200 (Sat, 23 Apr 2011) $
+  <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
+  Last modified: $Date: 2011-11-03 07:43:54 +0100 (Thu, 03 Nov 2011) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/GoldPlugin.html
==============================================================================
--- vendor/llvm/dist/docs/GoldPlugin.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/GoldPlugin.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>LLVM gold plugin</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>

Modified: vendor/llvm/dist/docs/HowToReleaseLLVM.html
==============================================================================
--- vendor/llvm/dist/docs/HowToReleaseLLVM.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/HowToReleaseLLVM.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>How To Release LLVM To The Public</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -574,7 +575,7 @@ $ svn copy https://llvm.org/svn/llvm-pro
   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2011-10-17 22:32:14 +0200 (Mon, 17 Oct 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/HowToSubmitABug.html
==============================================================================
--- vendor/llvm/dist/docs/HowToSubmitABug.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/HowToSubmitABug.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>How to submit an LLVM bug report</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -340,7 +341,7 @@ the following:</p>
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2011-06-07 22:03:13 +0200 (Tue, 07 Jun 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/LangRef.html
==============================================================================
--- vendor/llvm/dist/docs/LangRef.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/LangRef.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -281,23 +281,6 @@
           <li><a href="#int_at">'<tt>llvm.adjust.trampoline</tt>' Intrinsic</a></li>
         </ol>
       </li>
-      <li><a href="#int_atomics">Atomic intrinsics</a>
-        <ol>
-          <li><a href="#int_memory_barrier"><tt>llvm.memory_barrier</tt></a></li>
-          <li><a href="#int_atomic_cmp_swap"><tt>llvm.atomic.cmp.swap</tt></a></li>
-          <li><a href="#int_atomic_swap"><tt>llvm.atomic.swap</tt></a></li>
-          <li><a href="#int_atomic_load_add"><tt>llvm.atomic.load.add</tt></a></li>
-          <li><a href="#int_atomic_load_sub"><tt>llvm.atomic.load.sub</tt></a></li>
-          <li><a href="#int_atomic_load_and"><tt>llvm.atomic.load.and</tt></a></li>
-          <li><a href="#int_atomic_load_nand"><tt>llvm.atomic.load.nand</tt></a></li>
-          <li><a href="#int_atomic_load_or"><tt>llvm.atomic.load.or</tt></a></li>
-          <li><a href="#int_atomic_load_xor"><tt>llvm.atomic.load.xor</tt></a></li>
-          <li><a href="#int_atomic_load_max"><tt>llvm.atomic.load.max</tt></a></li>
-          <li><a href="#int_atomic_load_min"><tt>llvm.atomic.load.min</tt></a></li>
-          <li><a href="#int_atomic_load_umax"><tt>llvm.atomic.load.umax</tt></a></li>
-          <li><a href="#int_atomic_load_umin"><tt>llvm.atomic.load.umin</tt></a></li>
-        </ol>
-      </li>
       <li><a href="#int_memorymarkers">Memory Use Markers</a>
         <ol>
           <li><a href="#int_lifetime_start"><tt>llvm.lifetime.start</tt></a></li>
@@ -1915,9 +1898,6 @@ in signal handlers).</p>
    possible to have a two dimensional array, using an array as the element type
    of another array.</p>
 
-</div>
-  
-
 <!-- _______________________________________________________________________ -->
 <h4>
   <a name="t_aggregate">Aggregate Types</a>
@@ -2225,6 +2205,8 @@ in signal handlers).</p>
 
 </div>
 
+</div>
+
 <!-- *********************************************************************** -->
 <h2><a name="constants">Constants</a></h2>
 <!-- *********************************************************************** -->
@@ -6321,8 +6303,6 @@ declare void @llvm.va_end(i8*)
 
 </div>
 
-</div>
-
 <!-- ======================================================================= -->
 <h3>
   <a name="int_gc">Accurate Garbage Collection Intrinsics</a>
@@ -7018,8 +6998,6 @@ LLVM</a>.</p>
 
 </div>
 
-</div>
-
 <!-- _______________________________________________________________________ -->
 <h4>
   <a name="int_exp">'<tt>llvm.exp.*</tt>' Intrinsic</a>
@@ -7084,6 +7062,9 @@ LLVM</a>.</p>
 <p>This function returns the same values as the libm <tt>log</tt> functions
    would, and handles error conditions in the same way.</p>
 
+</div>
+
+<!-- _______________________________________________________________________ -->
 <h4>
   <a name="int_fma">'<tt>llvm.fma.*</tt>' Intrinsic</a>
 </h4>
@@ -7117,6 +7098,8 @@ LLVM</a>.</p>
 
 </div>
 
+</div>
+
 <!-- ======================================================================= -->
 <h3>
   <a name="int_manip">Bit Manipulation Intrinsics</a>
@@ -7812,503 +7795,6 @@ LLVM</a>.</p>
 
 <!-- ======================================================================= -->
 <h3>
-  <a name="int_atomics">Atomic Operations and Synchronization Intrinsics</a>
-</h3>
-
-<div>
-
-<p>These intrinsic functions expand the "universal IR" of LLVM to represent
-   hardware constructs for atomic operations and memory synchronization.  This
-   provides an interface to the hardware, not an interface to the programmer. It
-   is aimed at a low enough level to allow any programming models or APIs
-   (Application Programming Interfaces) which need atomic behaviors to map
-   cleanly onto it. It is also modeled primarily on hardware behavior. Just as
-   hardware provides a "universal IR" for source languages, it also provides a
-   starting point for developing a "universal" atomic operation and
-   synchronization IR.</p>
-
-<p>These do <em>not</em> form an API such as high-level threading libraries,
-   software transaction memory systems, atomic primitives, and intrinsic
-   functions as found in BSD, GNU libc, atomic_ops, APR, and other system and
-   application libraries.  The hardware interface provided by LLVM should allow
-   a clean implementation of all of these APIs and parallel programming models.
-   No one model or paradigm should be selected above others unless the hardware
-   itself ubiquitously does so.</p>
-
-<!-- _______________________________________________________________________ -->
-<h4>
-  <a name="int_memory_barrier">'<tt>llvm.memory.barrier</tt>' Intrinsic</a>
-</h4>
-
-<div>
-<h5>Syntax:</h5>
-<pre>
-  declare void @llvm.memory.barrier(i1 &lt;ll&gt;, i1 &lt;ls&gt;, i1 &lt;sl&gt;, i1 &lt;ss&gt;, i1 &lt;device&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>The <tt>llvm.memory.barrier</tt> intrinsic guarantees ordering between
-   specific pairs of memory access types.</p>
-
-<h5>Arguments:</h5>
-<p>The <tt>llvm.memory.barrier</tt> intrinsic requires five boolean arguments.
-   The first four arguments enables a specific barrier as listed below.  The
-   fifth argument specifies that the barrier applies to io or device or uncached
-   memory.</p>
-
-<ul>
-  <li><tt>ll</tt>: load-load barrier</li>
-  <li><tt>ls</tt>: load-store barrier</li>
-  <li><tt>sl</tt>: store-load barrier</li>
-  <li><tt>ss</tt>: store-store barrier</li>
-  <li><tt>device</tt>: barrier applies to device and uncached memory also.</li>
-</ul>
-
-<h5>Semantics:</h5>
-<p>This intrinsic causes the system to enforce some ordering constraints upon
-   the loads and stores of the program. This barrier does not
-   indicate <em>when</em> any events will occur, it only enforces
-   an <em>order</em> in which they occur. For any of the specified pairs of load
-   and store operations (f.ex.  load-load, or store-load), all of the first
-   operations preceding the barrier will complete before any of the second
-   operations succeeding the barrier begin. Specifically the semantics for each
-   pairing is as follows:</p>
-
-<ul>
-  <li><tt>ll</tt>: All loads before the barrier must complete before any load
-      after the barrier begins.</li>
-  <li><tt>ls</tt>: All loads before the barrier must complete before any
-      store after the barrier begins.</li>
-  <li><tt>ss</tt>: All stores before the barrier must complete before any
-      store after the barrier begins.</li>
-  <li><tt>sl</tt>: All stores before the barrier must complete before any
-      load after the barrier begins.</li>
-</ul>
-
-<p>These semantics are applied with a logical "and" behavior when more than one
-   is enabled in a single memory barrier intrinsic.</p>
-
-<p>Backends may implement stronger barriers than those requested when they do
-   not support as fine grained a barrier as requested.  Some architectures do
-   not need all types of barriers and on such architectures, these become
-   noops.</p>
-
-<h5>Example:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 4, %ptr
-
-%result1  = load i32* %ptr      <i>; yields {i32}:result1 = 4</i>
-            call void @llvm.memory.barrier(i1 false, i1 true, i1 false, i1 false, i1 true)
-                                <i>; guarantee the above finishes</i>
-            store i32 8, %ptr   <i>; before this begins</i>
-</pre>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
-  <a name="int_atomic_cmp_swap">'<tt>llvm.atomic.cmp.swap.*</tt>' Intrinsic</a>
-</h4>
-
-<div>
-
-<h5>Syntax:</h5>
-<p>This is an overloaded intrinsic. You can use <tt>llvm.atomic.cmp.swap</tt> on
-   any integer bit width and for different address spaces. Not all targets
-   support all bit widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.cmp.swap.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;cmp&gt;, i8 &lt;val&gt;)
-  declare i16 @llvm.atomic.cmp.swap.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;cmp&gt;, i16 &lt;val&gt;)
-  declare i32 @llvm.atomic.cmp.swap.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;cmp&gt;, i32 &lt;val&gt;)
-  declare i64 @llvm.atomic.cmp.swap.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;cmp&gt;, i64 &lt;val&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>This loads a value in memory and compares it to a given value. If they are
-   equal, it stores a new value into the memory.</p>
-
-<h5>Arguments:</h5>
-<p>The <tt>llvm.atomic.cmp.swap</tt> intrinsic takes three arguments. The result
-   as well as both <tt>cmp</tt> and <tt>val</tt> must be integer values with the
-   same bit width. The <tt>ptr</tt> argument must be a pointer to a value of
-   this integer type. While any bit width integer may be used, targets may only
-   lower representations they support in hardware.</p>
-
-<h5>Semantics:</h5>
-<p>This entire intrinsic must be executed atomically. It first loads the value
-   in memory pointed to by <tt>ptr</tt> and compares it with the
-   value <tt>cmp</tt>. If they are equal, <tt>val</tt> is stored into the
-   memory. The loaded value is yielded in all cases. This provides the
-   equivalent of an atomic compare-and-swap operation within the SSA
-   framework.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 4, %ptr
-
-%val1     = add i32 4, 4
-%result1  = call i32 @llvm.atomic.cmp.swap.i32.p0i32(i32* %ptr, i32 4, %val1)
-                                          <i>; yields {i32}:result1 = 4</i>
-%stored1  = icmp eq i32 %result1, 4       <i>; yields {i1}:stored1 = true</i>
-%memval1  = load i32* %ptr                <i>; yields {i32}:memval1 = 8</i>
-
-%val2     = add i32 1, 1
-%result2  = call i32 @llvm.atomic.cmp.swap.i32.p0i32(i32* %ptr, i32 5, %val2)
-                                          <i>; yields {i32}:result2 = 8</i>
-%stored2  = icmp eq i32 %result2, 5       <i>; yields {i1}:stored2 = false</i>
-
-%memval2  = load i32* %ptr                <i>; yields {i32}:memval2 = 8</i>
-</pre>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
-  <a name="int_atomic_swap">'<tt>llvm.atomic.swap.*</tt>' Intrinsic</a>
-</h4>
-
-<div>
-<h5>Syntax:</h5>
-
-<p>This is an overloaded intrinsic. You can use <tt>llvm.atomic.swap</tt> on any
-   integer bit width. Not all targets support all bit widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.swap.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;val&gt;)
-  declare i16 @llvm.atomic.swap.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;val&gt;)
-  declare i32 @llvm.atomic.swap.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;val&gt;)
-  declare i64 @llvm.atomic.swap.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;val&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>This intrinsic loads the value stored in memory at <tt>ptr</tt> and yields
-   the value from memory. It then stores the value in <tt>val</tt> in the memory
-   at <tt>ptr</tt>.</p>
-
-<h5>Arguments:</h5>
-<p>The <tt>llvm.atomic.swap</tt> intrinsic takes two arguments. Both
-  the <tt>val</tt> argument and the result must be integers of the same bit
-  width.  The first argument, <tt>ptr</tt>, must be a pointer to a value of this
-  integer type. The targets may only lower integer representations they
-  support.</p>
-
-<h5>Semantics:</h5>
-<p>This intrinsic loads the value pointed to by <tt>ptr</tt>, yields it, and
-   stores <tt>val</tt> back into <tt>ptr</tt> atomically. This provides the
-   equivalent of an atomic swap operation within the SSA framework.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 4, %ptr
-
-%val1     = add i32 4, 4
-%result1  = call i32 @llvm.atomic.swap.i32.p0i32(i32* %ptr, i32 %val1)
-                                        <i>; yields {i32}:result1 = 4</i>
-%stored1  = icmp eq i32 %result1, 4     <i>; yields {i1}:stored1 = true</i>
-%memval1  = load i32* %ptr              <i>; yields {i32}:memval1 = 8</i>
-
-%val2     = add i32 1, 1
-%result2  = call i32 @llvm.atomic.swap.i32.p0i32(i32* %ptr, i32 %val2)
-                                        <i>; yields {i32}:result2 = 8</i>
-
-%stored2  = icmp eq i32 %result2, 8     <i>; yields {i1}:stored2 = true</i>
-%memval2  = load i32* %ptr              <i>; yields {i32}:memval2 = 2</i>
-</pre>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
-  <a name="int_atomic_load_add">'<tt>llvm.atomic.load.add.*</tt>' Intrinsic</a>
-</h4>
-
-<div>
-
-<h5>Syntax:</h5>
-<p>This is an overloaded intrinsic. You can use <tt>llvm.atomic.load.add</tt> on
-   any integer bit width. Not all targets support all bit widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.load.add.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.add.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.add.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.add.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>This intrinsic adds <tt>delta</tt> to the value stored in memory
-   at <tt>ptr</tt>. It yields the original value at <tt>ptr</tt>.</p>
-
-<h5>Arguments:</h5>
-<p>The intrinsic takes two arguments, the first a pointer to an integer value
-   and the second an integer value. The result is also an integer value. These
-   integer types can have any bit width, but they must all have the same bit
-   width. The targets may only lower integer representations they support.</p>
-
-<h5>Semantics:</h5>
-<p>This intrinsic does a series of operations atomically. It first loads the
-   value stored at <tt>ptr</tt>. It then adds <tt>delta</tt>, stores the result
-   to <tt>ptr</tt>. It yields the original value stored at <tt>ptr</tt>.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 4, %ptr
-%result1  = call i32 @llvm.atomic.load.add.i32.p0i32(i32* %ptr, i32 4)
-                                <i>; yields {i32}:result1 = 4</i>
-%result2  = call i32 @llvm.atomic.load.add.i32.p0i32(i32* %ptr, i32 2)
-                                <i>; yields {i32}:result2 = 8</i>
-%result3  = call i32 @llvm.atomic.load.add.i32.p0i32(i32* %ptr, i32 5)
-                                <i>; yields {i32}:result3 = 10</i>
-%memval1  = load i32* %ptr      <i>; yields {i32}:memval1 = 15</i>
-</pre>
-
-</div>
-
-<!-- _______________________________________________________________________ -->
-<h4>
-  <a name="int_atomic_load_sub">'<tt>llvm.atomic.load.sub.*</tt>' Intrinsic</a>
-</h4>
-
-<div>
-
-<h5>Syntax:</h5>
-<p>This is an overloaded intrinsic. You can use <tt>llvm.atomic.load.sub</tt> on
-   any integer bit width and for different address spaces. Not all targets
-   support all bit widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.load.sub.i8.p0i32(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.sub.i16.p0i32(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.sub.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.sub.i64.p0i32(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>This intrinsic subtracts <tt>delta</tt> to the value stored in memory at
-   <tt>ptr</tt>. It yields the original value at <tt>ptr</tt>.</p>
-
-<h5>Arguments:</h5>
-<p>The intrinsic takes two arguments, the first a pointer to an integer value
-   and the second an integer value. The result is also an integer value. These
-   integer types can have any bit width, but they must all have the same bit
-   width. The targets may only lower integer representations they support.</p>
-
-<h5>Semantics:</h5>
-<p>This intrinsic does a series of operations atomically. It first loads the
-   value stored at <tt>ptr</tt>. It then subtracts <tt>delta</tt>, stores the
-   result to <tt>ptr</tt>. It yields the original value stored
-   at <tt>ptr</tt>.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 8, %ptr
-%result1  = call i32 @llvm.atomic.load.sub.i32.p0i32(i32* %ptr, i32 4)
-                                <i>; yields {i32}:result1 = 8</i>
-%result2  = call i32 @llvm.atomic.load.sub.i32.p0i32(i32* %ptr, i32 2)
-                                <i>; yields {i32}:result2 = 4</i>
-%result3  = call i32 @llvm.atomic.load.sub.i32.p0i32(i32* %ptr, i32 5)
-                                <i>; yields {i32}:result3 = 2</i>
-%memval1  = load i32* %ptr      <i>; yields {i32}:memval1 = -3</i>
-</pre>
-
-</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>
-
-<h5>Syntax:</h5>
-<p>These are overloaded intrinsics. You can
-  use <tt>llvm.atomic.load_and</tt>, <tt>llvm.atomic.load_nand</tt>,
-  <tt>llvm.atomic.load_or</tt>, and <tt>llvm.atomic.load_xor</tt> on any integer
-  bit width and for different address spaces. Not all targets support all bit
-  widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.load.and.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.and.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.and.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.and.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.or.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.or.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.or.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.or.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.nand.i8.p0i32(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.nand.i16.p0i32(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.nand.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.nand.i64.p0i32(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.xor.i8.p0i32(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.xor.i16.p0i32(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.xor.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.xor.i64.p0i32(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>These intrinsics bitwise the operation (and, nand, or, xor) <tt>delta</tt> to
-   the value stored in memory at <tt>ptr</tt>. It yields the original value
-   at <tt>ptr</tt>.</p>
-
-<h5>Arguments:</h5>
-<p>These intrinsics take two arguments, the first a pointer to an integer value
-   and the second an integer value. The result is also an integer value. These
-   integer types can have any bit width, but they must all have the same bit
-   width. The targets may only lower integer representations they support.</p>
-
-<h5>Semantics:</h5>
-<p>These intrinsics does a series of operations atomically. They first load the
-   value stored at <tt>ptr</tt>. They then do the bitwise
-   operation <tt>delta</tt>, store the result to <tt>ptr</tt>. They yield the
-   original value stored at <tt>ptr</tt>.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 0x0F0F, %ptr
-%result0  = call i32 @llvm.atomic.load.nand.i32.p0i32(i32* %ptr, i32 0xFF)
-                                <i>; yields {i32}:result0 = 0x0F0F</i>
-%result1  = call i32 @llvm.atomic.load.and.i32.p0i32(i32* %ptr, i32 0xFF)
-                                <i>; yields {i32}:result1 = 0xFFFFFFF0</i>
-%result2  = call i32 @llvm.atomic.load.or.i32.p0i32(i32* %ptr, i32 0F)
-                                <i>; yields {i32}:result2 = 0xF0</i>
-%result3  = call i32 @llvm.atomic.load.xor.i32.p0i32(i32* %ptr, i32 0F)
-                                <i>; yields {i32}:result3 = FF</i>
-%memval1  = load i32* %ptr      <i>; yields {i32}:memval1 = F0</i>
-</pre>
-
-</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>
-
-<h5>Syntax:</h5>
-<p>These are overloaded intrinsics. You can use <tt>llvm.atomic.load_max</tt>,
-   <tt>llvm.atomic.load_min</tt>, <tt>llvm.atomic.load_umax</tt>, and
-   <tt>llvm.atomic.load_umin</tt> on any integer bit width and for different
-   address spaces. Not all targets support all bit widths however.</p>
-
-<pre>
-  declare i8 @llvm.atomic.load.max.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.max.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.max.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.max.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.min.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.min.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.min.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.min.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.umax.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.umax.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.umax.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.umax.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<pre>
-  declare i8 @llvm.atomic.load.umin.i8.p0i8(i8* &lt;ptr&gt;, i8 &lt;delta&gt;)
-  declare i16 @llvm.atomic.load.umin.i16.p0i16(i16* &lt;ptr&gt;, i16 &lt;delta&gt;)
-  declare i32 @llvm.atomic.load.umin.i32.p0i32(i32* &lt;ptr&gt;, i32 &lt;delta&gt;)
-  declare i64 @llvm.atomic.load.umin.i64.p0i64(i64* &lt;ptr&gt;, i64 &lt;delta&gt;)
-</pre>
-
-<h5>Overview:</h5>
-<p>These intrinsics takes the signed or unsigned minimum or maximum of
-   <tt>delta</tt> and the value stored in memory at <tt>ptr</tt>. It yields the
-   original value at <tt>ptr</tt>.</p>
-
-<h5>Arguments:</h5>
-<p>These intrinsics take two arguments, the first a pointer to an integer value
-   and the second an integer value. The result is also an integer value. These
-   integer types can have any bit width, but they must all have the same bit
-   width. The targets may only lower integer representations they support.</p>
-
-<h5>Semantics:</h5>
-<p>These intrinsics does a series of operations atomically. They first load the
-   value stored at <tt>ptr</tt>. They then do the signed or unsigned min or
-   max <tt>delta</tt> and the value, store the result to <tt>ptr</tt>. They
-   yield the original value stored at <tt>ptr</tt>.</p>
-
-<h5>Examples:</h5>
-<pre>
-%mallocP  = tail call i8* @malloc(i32 ptrtoint (i32* getelementptr (i32* null, i32 1) to i32))
-%ptr      = bitcast i8* %mallocP to i32*
-            store i32 7, %ptr
-%result0  = call i32 @llvm.atomic.load.min.i32.p0i32(i32* %ptr, i32 -2)
-                                <i>; yields {i32}:result0 = 7</i>
-%result1  = call i32 @llvm.atomic.load.max.i32.p0i32(i32* %ptr, i32 8)
-                                <i>; yields {i32}:result1 = -2</i>
-%result2  = call i32 @llvm.atomic.load.umin.i32.p0i32(i32* %ptr, i32 10)
-                                <i>; yields {i32}:result2 = 8</i>
-%result3  = call i32 @llvm.atomic.load.umax.i32.p0i32(i32* %ptr, i32 30)
-                                <i>; yields {i32}:result3 = 8</i>
-%memval1  = load i32* %ptr      <i>; yields {i32}:memval1 = 30</i>
-</pre>
-
-</div>
-
-</div>
-
-<!-- ======================================================================= -->
-<h3>
   <a name="int_memorymarkers">Memory Use Markers</a>
 </h3>
 
@@ -8615,7 +8101,7 @@ LLVM</a>.</p>
 
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-10-14 01:04:49 +0200 (Fri, 14 Oct 2011) $
+  Last modified: $Date: 2011-11-03 07:43:54 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/LinkTimeOptimization.html
==============================================================================
--- vendor/llvm/dist/docs/LinkTimeOptimization.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/LinkTimeOptimization.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>LLVM Link Time Optimization: Design and Implementation</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -392,7 +393,7 @@ of the native object files.</p>
 
   Devang Patel and Nick Kledzik<br>
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-09-18 14:51:05 +0200 (Sun, 18 Sep 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/Packaging.html
==============================================================================
--- vendor/llvm/dist/docs/Packaging.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/Packaging.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Advice on Packaging LLVM</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -112,7 +113,7 @@ line numbers.</dd>
   <a href="http://validator.w3.org/check/referer"><img
   src="http://www.w3.org/Icons/valid-html401-blue" alt="Valid HTML 4.01"></a>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-04-23 02:30:22 +0200 (Sat, 23 Apr 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 </body>
 </html>

Modified: vendor/llvm/dist/docs/Passes.html
==============================================================================
--- vendor/llvm/dist/docs/Passes.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/Passes.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -226,11 +226,8 @@ perl -e '$/ = undef; for (split(/\n/, <>
   <a name="basicaa">-basicaa: Basic Alias Analysis (stateless AA impl)</a>
 </h3>
 <div>
-  <p>
-  This is the default implementation of the Alias Analysis interface
-  that simply implements a few identities (two different globals cannot alias,
-  etc), but otherwise does no analysis.
-  </p>
+  <p>A basic alias analysis pass that implements identities (two different
+  globals cannot alias, etc), but does no stateful analysis.</p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
@@ -527,9 +524,10 @@ perl -e '$/ = undef; for (split(/\n/, <>
 </h3>
 <div>
   <p>
-  Always returns "I don't know" for alias queries.  NoAA is unlike other alias
-  analysis implementations, in that it does not chain to a previous analysis. As
-  such it doesn't follow many of the rules that other alias analyses must.
+  This is the default implementation of the Alias Analysis interface. It always
+  returns "I don't know" for alias queries.  NoAA is unlike other alias analysis
+  implementations, in that it does not chain to a previous analysis. As such it
+  doesn't follow many of the rules that other alias analyses must.
   </p>
 </div>
 
@@ -2041,7 +2039,7 @@ if (X &lt; 3) {</pre>
 
   <a href="mailto:rspencer@x10sys.com">Reid Spencer</a><br>
   <a href="http://llvm.org/">LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-08-04 00:18:20 +0200 (Thu, 04 Aug 2011) $
+  Last modified: $Date: 2011-11-04 07:30:50 +0100 (Fri, 04 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/ProgrammersManual.html
==============================================================================
--- vendor/llvm/dist/docs/ProgrammersManual.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/ProgrammersManual.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -879,9 +879,6 @@ elements (but could contain many), for e
 .  Doing so avoids (relatively) expensive malloc/free calls, which dwarf the
 cost of adding the elements to the container. </p>
 
-</div>
-  
-  
 <!-- ======================================================================= -->
 <h3>
   <a name="ds_sequential">Sequential Containers (std::vector, std::list, etc)</a>
@@ -4055,7 +4052,7 @@ arguments. An argument has a pointer to 
   <a href="mailto:dhurjati@cs.uiuc.edu">Dinakar Dhurjati</a> and
   <a href="mailto:sabre@nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2011-10-11 08:33:56 +0200 (Tue, 11 Oct 2011) $
+  Last modified: $Date: 2011-11-03 07:43:54 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/Projects.html
==============================================================================
--- vendor/llvm/dist/docs/Projects.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/Projects.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -2,6 +2,7 @@
                       "http://www.w3.org/TR/html4/strict.dtd">;
 <html>
 <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <title>Creating an LLVM Project</title>
   <link rel="stylesheet" href="llvm.css" type="text/css">
 </head>
@@ -481,7 +482,7 @@ Mailing List</a>.</p>
   <a href="mailto:criswell@uiuc.edu">John Criswell</a><br>
   <a href="http://llvm.org/">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2011-06-03 04:20:48 +0200 (Fri, 03 Jun 2011) $
+  Last modified: $Date: 2011-11-03 07:43:23 +0100 (Thu, 03 Nov 2011) $
 </address>
 
 </body>

Modified: vendor/llvm/dist/docs/ReleaseNotes.html
==============================================================================
--- vendor/llvm/dist/docs/ReleaseNotes.html	Fri Dec  9 18:22:57 2011	(r228363)
+++ vendor/llvm/dist/docs/ReleaseNotes.html	Fri Dec  9 18:27:22 2011	(r228364)
@@ -189,13 +189,7 @@ Release Notes</a>.</h1>
 
 <div>
 
-<p><a href="http://lldb.llvm.org/">LLDB</a>; is a brand new member of the LLVM
-   umbrella of projects. LLDB is a next generation, high-performance
-   debugger. It is built as a set of reusable components which highly leverage
-   existing libraries in the larger LLVM Project, such as the Clang expression
-   parser, the LLVM disassembler and the LLVM JIT.</p>
-
-<p>LLDB is has advanced by leaps and bounds in the 3.0 timeframe.  It is
+<p>LLDB has advanced by leaps and bounds in the 3.0 timeframe.  It is
    dramatically more stable and useful, and includes both a
    new <a href="http://lldb.llvm.org/tutorial.html">tutorial</a>; and
    a <a href="http://lldb.llvm.org/lldb-gdb.html">side-by-side comparison with
@@ -210,13 +204,6 @@ Release Notes</a>.</h1>
 
 <div>
 
-<p><a href="http://libcxx.llvm.org/">libc++</a>; is another new member of the
-   LLVM family.  It is an implementation of the C++ standard library, written
-   from the ground up to specifically target the forthcoming C++'0X standard and
-   focus on delivering great performance.</p>
-
-<p>In the LLVM 3.0 timeframe,</p>
-  
 <p>Like compiler_rt, libc++ is now <a href="DeveloperPolicy.html#license">dual
    licensed</a> under the MIT and UIUC license, allowing it to be used more
    permissively.</p>
@@ -290,23 +277,257 @@ be used to verify some algorithms.
    projects that have already been updated to work with LLVM 3.0.</p>
 
 <!--=========================================================================-->
-<h3>Crack Programming Language</h3>
+<h3>AddressSanitizer</h3>
+  
+<div>
 
+<p><a href="http://code.google.com/p/address-sanitizer/">AddressSanitizer</a>;
+   uses compiler instrumentation and a specialized malloc library to find C/C++
+   bugs such as use-after-free and out-of-bound accesses to heap, stack, and
+   globals. The key feature of the tool is speed: the average slowdown
+   introduced by AddressSanitizer is less than 2x.</p>
+
+</div>
+
+<!--=========================================================================-->
+<h3>ClamAV</h3>
+  
 <div>
 
-<p><a href="http://code.google.com/p/crack-language/">Crack</a>; aims to provide
-   the ease of development of a scripting language with the performance of a
-   compiled language. The language derives concepts from C++, Java and Python,
-   incorporating object-oriented programming, operator overloading and strong
-   typing.</p>
+<p><a href="http://www.clamav.net">Clam AntiVirus</a> is an open source (GPL)
+   anti-virus toolkit for UNIX, designed especially for e-mail scanning on mail
+   gateways.</p>
+
+<p>Since version 0.96 it
+   has <a href="http://vrt-sourcefire.blogspot.com/2010/09/introduction-to-clamavs-low-level.html">bytecode
+   signatures</a> that allow writing detections for complex malware.</p>
+
+<p>It uses LLVM's JIT to speed up the execution of bytecode on X86, X86-64,
+   PPC32/64, falling back to its own interpreter otherwise.  The git version was
+   updated to work with LLVM 3.0.</p>
+
+</div>
+
+<!--=========================================================================-->
+<h3>clReflect</h3>
+
+<div>
+
+<p><a href="https://bitbucket.org/dwilliamson/clreflect">clReflect</a>; is a C++
+   parser that uses clang/LLVM to derive a light-weight reflection database
+   suitable for use in game development. It comes with a very simple runtime
+   library for loading and querying the database, requiring no external
+   dependencies (including CRT), and an additional utility library for object
+   management and serialisation.</p>

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112091827.pB9IRNt5044435>