[llvm-commits] [llvm] r145416 - in /llvm/trunk/docs: ReleaseNotes.html SegmentedStacks.html

Rafael Espindola rafael.espindola at gmail.com
Tue Nov 29 11:08:23 PST 2011


Author: rafael
Date: Tue Nov 29 13:08:23 2011
New Revision: 145416

URL: http://llvm.org/viewvc/llvm-project?rev=145416&view=rev
Log:
Release notes for segmented stacks.
Patch by Sanjoy Das.

Modified:
    llvm/trunk/docs/ReleaseNotes.html
    llvm/trunk/docs/SegmentedStacks.html

Modified: llvm/trunk/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/ReleaseNotes.html?rev=145416&r1=145415&r2=145416&view=diff
==============================================================================
--- llvm/trunk/docs/ReleaseNotes.html (original)
+++ llvm/trunk/docs/ReleaseNotes.html Tue Nov 29 13:08:23 2011
@@ -936,7 +936,10 @@
    make it run faster:</p>
 
 <ul>
-<li>XXX: Segmented stacks.</li>
+<li>LLVM can now produce code that works with libgcc
+    to <a href="SegmentedStacks.html">dynamically allocate stack
+    segments</a>, as opposed to allocating a worst-case chunk of
+    virtual memory for each thread.</li>
 <li>LLVM generates substantially better code for indirect gotos due to a new
     tail duplication pass, which can be a substantial performance win for
     interpreter loops that use them.</li>

Modified: llvm/trunk/docs/SegmentedStacks.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/SegmentedStacks.html?rev=145416&r1=145415&r2=145416&view=diff
==============================================================================
--- llvm/trunk/docs/SegmentedStacks.html (original)
+++ llvm/trunk/docs/SegmentedStacks.html Tue Nov 29 13:08:23 2011
@@ -20,18 +20,12 @@
                   <li><a href="#alloca">Variable Sized Allocas</a></li>
                 </ol>
           </li>
-          <li><a href="#results">Results</a>
-            <ol>
-              <li><a href="#go">Go on LLVM</a></li>
-              <li><a href="#abi">Runtime ABI</a></li>
-            </ol>
-          </li>
         </ol>
 
         <h2><a name="intro">Introduction</a></h2>
         <div>
           <p>
-            Segmented stack allows stack space to be allocated incrementally than as a monolithic chunk (of some worst case size) at thread initialization. This is done by allocating stack blocks (henceforth called <em>stacklets</em>) and linking them into a doubly linked list. The function prologue is responsible for checking if the current stacklet has enough space for the function to execute; and if not, call into the libgcc runtime to allocate more stack space. Support for segmented stacks on x86 / Linux is currently being worked on.
+            Segmented stack allows stack space to be allocated incrementally than as a monolithic chunk (of some worst case size) at thread initialization. This is done by allocating stack blocks (henceforth called <em>stacklets</em>) and linking them into a doubly linked list. The function prologue is responsible for checking if the current stacklet has enough space for the function to execute; and if not, call into the libgcc runtime to allocate more stack space. When using <tt>llc</tt>, segmented stacks can be enabled by adding <tt>-segmented-stacks</tt> to the command line.
           </p>
           <p>
             The runtime functionality is <a href="http://gcc.gnu.org/wiki/SplitStacks">already there in libgcc</a>.





More information about the llvm-commits mailing list