diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/GettingStarted.html | 57 | ||||
-rw-r--r-- | docs/ProgrammersManual.html | 19 | ||||
-rw-r--r-- | docs/ReleaseNotes.html | 11 |
3 files changed, 85 insertions, 2 deletions
diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 7360893..d608a13 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -803,7 +803,62 @@ instructions</a> to successfully get and build the LLVM GCC front-end.</p> read-only GIT clone of LLVM via:</p> <pre> -% git clone http://llvm.org/git/llvm.git +git clone http://llvm.org/git/llvm.git +</pre> + +<p>If you want to check out clang too, run:</p> + +<pre> +git clone http://llvm.org/git/llvm.git +cd llvm/tools +git clone http://llvm.org/git/clang.git +</pre> + +<p>To set up clone from which you can submit code using + <tt>git-svn</tt>, run:</p> + +<pre> +git clone http://llvm.org/git/llvm +cd llvm +git svn init https://llvm.org/svn/llvm-project/llvm/trunk --username=<username> +git config svn-remote.svn.fetch :refs/remotes/origin/master +git svn rebase -l # -l avoids fetching ahead of the git mirror. + +# If you have clang too: +cd tools +git clone http://llvm.org/git/clang.git clang +cd clang +git svn init https://llvm.org/svn/llvm-project/cfe/trunk --username=<username> +git config svn-remote.svn.fetch :refs/remotes/origin/master +git svn rebase -l +</pre> + +<p>To update this clone without generating git-svn tags that conflict +with the upstream git repo, run:</p> + +<pre> +git fetch && (cd tools/clang && git fetch) # Get matching revisions of both trees. +git checkout master +git svn rebase -l +(cd tools/clang && + git checkout master && + git svn rebase -l) +</pre> + +<p>This leaves your working directories on their master branches, so +you'll need to <tt>checkout</tt> each working branch individually and +<tt>rebase</tt> it on top of its parent branch. (Note: This script is +intended for relative newbies to git. If you have more experience, +you can likely improve on it.)</p> + +<p>The git-svn metadata can get out of sync after you mess around with +branches and <code>dcommit</code>. When that happens, <code>git svn +dcommit</code> stops working, complaining about files with uncommitted +changes. The fix is to rebuild the metadata:</p> + +<pre> +rm -rf .git/svn +git svn rebase -l </pre> </div> diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 5565973..bfa721d 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -59,6 +59,7 @@ option</a></li> <li><a href="#dss_arrayref">llvm/ADT/ArrayRef.h</a></li> <li><a href="#dss_fixedarrays">Fixed Size Arrays</a></li> <li><a href="#dss_heaparrays">Heap Allocated Arrays</a></li> + <li><a href="#dss_tinyptrvector">"llvm/ADT/TinyPtrVector.h"</a></li> <li><a href="#dss_smallvector">"llvm/ADT/SmallVector.h"</a></li> <li><a href="#dss_vector"><vector></a></li> <li><a href="#dss_deque"><deque></a></li> @@ -928,6 +929,24 @@ construct those elements actually used).</p> <!-- _______________________________________________________________________ --> <h4> + <a name="dss_tinyptrvector">"llvm/ADT/TinyPtrVector.h"</a> +</h4> + + +<div> +<p><tt>TinyPtrVector<Type></tt> is a highly specialized collection class +that is optimized to avoid allocation in the case when a vector has zero or one +elements. It has two major restrictions: 1) it can only hold values of pointer +type, and 2) it cannot hold a null pointer.</p> + +<p>Since this container is highly specialized, it is rarely used.</p> + +</div> + +<div> + +<!-- _______________________________________________________________________ --> +<h4> <a name="dss_smallvector">"llvm/ADT/SmallVector.h"</a> </h4> diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index 374615d..0eac384 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -599,7 +599,10 @@ from the previous release.</p> LLVM API changes are:</p> <ul> - +<li>The biggest and most pervasive change is that llvm::Type's are no longer + returned or accepted as 'const' values. Instead, just pass around non-const + Type's.</li> + <li><code>PHINode::reserveOperandSpace</code> has been removed. Instead, you must specify how many operands to reserve space for when you create the PHINode, by passing an extra argument into <code>PHINode::Create</code>.</li> @@ -623,6 +626,8 @@ from the previous release.</p> <li><code>ConstantExpr::getIndices</code></li> <li><code>ConstantExpr::getInsertElement</code></li> <li><code>ConstantExpr::getWithOperands</code></li> +<li><code>ConstantFoldCall</code> (in <code>llvm/Analysis/ConstantFolding.h</code>)</li> +<li><code>ConstantFoldInstOperands</code> (in <code>llvm/Analysis/ConstantFolding.h</code>)</li> <li><code>ConstantVector::get</code></li> <li><code>DIBuilder::createComplexVariable</code></li> <li><code>DIBuilder::getOrCreateArray</code></li> @@ -630,6 +635,8 @@ from the previous release.</p> <li><code>ExtractValueInst::getIndexedType</code></li> <li><code>ExtractValueInst::getIndices</code></li> <li><code>FindInsertedValue</code> (in <code>llvm/Analysis/ValueTracking.h</code>)</li> +<li><code>gep_type_begin</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li> +<li><code>gep_type_end</code> (in <code>llvm/Support/GetElementPtrTypeIterator.h</code>)</li> <li><code>IRBuilder::CreateCall</code></li> <li><code>IRBuilder::CreateExtractValue</code></li> <li><code>IRBuilder::CreateInsertValue</code></li> @@ -641,6 +648,8 @@ from the previous release.</p> <li><code>MDNode::getIfExists</code></li> <li><code>MDNode::getTemporary</code></li> <li><code>MDNode::getWhenValsUnresolved</code></li> +<li><code>SimplifyGEPInst</code> (in <code>llvm/Analysis/InstructionSimplify.h</code>)</li> +<li><code>TargetData::getIndexedOffset</code></li> </ul></li> <li>All forms of <code>StringMap::getOrCreateValue</code> have been remove |