summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-08-03 22:18:20 +0000
committerBill Wendling <isanbard@gmail.com>2011-08-03 22:18:20 +0000
commit2626dba9c5515d2e534c117bb16ceb03dd4d0930 (patch)
treebcb8a124d8e55520c15a83e34a9762d4f9b73fbb /docs
parent56cb3e3ccbc766086841d04fb8f136c7b4718dd5 (diff)
downloadllvm-2626dba9c5515d2e534c117bb16ceb03dd4d0930.tar.gz
llvm-2626dba9c5515d2e534c117bb16ceb03dd4d0930.tar.bz2
llvm-2626dba9c5515d2e534c117bb16ceb03dd4d0930.tar.xz
Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets.
This is some of my original LLVM code. *wipes tear* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136821 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/Passes.html30
-rw-r--r--docs/ReleaseNotes.html14
2 files changed, 8 insertions, 36 deletions
diff --git a/docs/Passes.html b/docs/Passes.html
index b7f70b91cb..9393410a36 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -161,7 +161,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch loops</td></tr>
<tr><td><a href="#loweratomic">-loweratomic</a></td><td>Lower atomic intrinsics to non-atomic form</td></tr>
<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower invoke and unwind, for unwindless code generators</td></tr>
-<tr><td><a href="#lowersetjmp">-lowersetjmp</a></td><td>Lower Set Jump</td></tr>
<tr><td><a href="#lowerswitch">-lowerswitch</a></td><td>Lower SwitchInst's to branches</td></tr>
<tr><td><a href="#mem2reg">-mem2reg</a></td><td>Promote Memory to Register</td></tr>
<tr><td><a href="#memcpyopt">-memcpyopt</a></td><td>MemCpy Optimization</td></tr>
@@ -1478,35 +1477,6 @@ if (X &lt; 3) {</pre>
<!-------------------------------------------------------------------------- -->
<h3>
- <a name="lowersetjmp">-lowersetjmp: Lower Set Jump</a>
-</h3>
-<div>
- <p>
- Lowers <tt>setjmp</tt> and <tt>longjmp</tt> to use the LLVM invoke and unwind
- instructions as necessary.
- </p>
-
- <p>
- Lowering of <tt>longjmp</tt> is fairly trivial. We replace the call with a
- call to the LLVM library function <tt>__llvm_sjljeh_throw_longjmp()</tt>.
- This unwinds the stack for us calling all of the destructors for
- objects allocated on the stack.
- </p>
-
- <p>
- At a <tt>setjmp</tt> call, the basic block is split and the <tt>setjmp</tt>
- removed. The calls in a function that have a <tt>setjmp</tt> are converted to
- invoke where the except part checks to see if it's a <tt>longjmp</tt>
- exception and, if so, if it's handled in the function. If it is, then it gets
- the value returned by the <tt>longjmp</tt> and goes to where the basic block
- was split. <tt>invoke</tt> instructions are handled in a similar fashion with
- the original except block being executed if it isn't a <tt>longjmp</tt>
- except that is handled by that function.
- </p>
-</div>
-
-<!-------------------------------------------------------------------------- -->
-<h3>
<a name="lowerswitch">-lowerswitch: Lower SwitchInst's to branches</a>
</h3>
<div>
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 50cd906119..5cd248c2db 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -576,14 +576,13 @@ it run faster:</p>
<div>
-<p>If you're already an LLVM user or developer with out-of-tree changes based
-on LLVM 2.9, this section lists some "gotchas" that you may run into upgrading
-from the previous release.</p>
+<p>If you're already an LLVM user or developer with out-of-tree changes based on
+ LLVM 2.9, this section lists some "gotchas" that you may run into upgrading
+ from the previous release.</p>
<ul>
-<!--
-<li></li>
--->
+ <li>The <code>LowerSetJmp</code> wasn't used effectively by any of the
+ targets and was removed.</li>
</ul>
</div>
@@ -667,6 +666,9 @@ from the previous release.</p>
isn't used by the current front-ends. So this was removed during the
exception handling rewrite.</li>
+<li>The <code>LLVMAddLowerSetJmpPass</code> function from the C API was removed
+ because the <code>LowerSetJmp</code> pass was removed.</li>
+
</ul>
</div>