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
diff --git a/docs/Passes.html b/docs/Passes.html
index b7f70b9..9393410 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -161,7 +161,6 @@
<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 @@
<!-------------------------------------------------------------------------- -->
<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 50cd906..5cd248c 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -576,14 +576,13 @@
<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 @@
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>