[llvm-commits] [parallel] CVS: llvm/docs/CFEBuildInstrs.html GettingStarted.html HowToSubmitABug.html LLVMVsTheWorld.html LangRef.html OpenProjects.html ProgrammersManual.html ReleaseNotes.html TestingGuide.html WritingAnLLVMPass.html index.html

Misha Brukman brukman at cs.uiuc.edu
Wed Mar 10 19:05:35 PST 2004


Changes in directory llvm/docs:

CFEBuildInstrs.html updated: 1.11.2.1 -> 1.11.2.2
GettingStarted.html updated: 1.48.2.1 -> 1.48.2.2
HowToSubmitABug.html updated: 1.11.2.1 -> 1.11.2.2
LLVMVsTheWorld.html updated: 1.5.4.1 -> 1.5.4.2
LangRef.html updated: 1.43.2.1 -> 1.43.2.2
OpenProjects.html updated: 1.15 -> 1.15.2.1
ProgrammersManual.html updated: 1.53.2.1 -> 1.53.2.2
ReleaseNotes.html updated: 1.102.2.1 -> 1.102.2.2
TestingGuide.html updated: 1.6.4.1 -> 1.6.4.2
WritingAnLLVMPass.html updated: 1.22.2.1 -> 1.22.2.2
index.html updated: 1.6.4.1 -> 1.6.4.2

---
Log message:

Merge from trunk.

---
Diffs of the changes:  (+90 -47)

Index: llvm/docs/CFEBuildInstrs.html
diff -u llvm/docs/CFEBuildInstrs.html:1.11.2.1 llvm/docs/CFEBuildInstrs.html:1.11.2.2
--- llvm/docs/CFEBuildInstrs.html:1.11.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/CFEBuildInstrs.html	Wed Mar 10 19:04:46 2004
@@ -185,7 +185,7 @@
 <pre>
  % gmake -C runtime
  % mkdir $CFEINSTALL/bytecode-libs
- % gmake -C runtime install
+ % gmake -C runtime install-bytecode
  % setenv LLVM_LIB_SEARCH_PATH $CFEINSTALL/bytecode-libs
 </pre></li>
 
@@ -243,14 +243,13 @@
 </div>
 
 <!-- *********************************************************************** -->
-<!-- *********************************************************************** -->
 
 <hr>
 <div class="doc_footer">
   <address>Brian Gaeke</address>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </div>
 
 </body>


Index: llvm/docs/GettingStarted.html
diff -u llvm/docs/GettingStarted.html:1.48.2.1 llvm/docs/GettingStarted.html:1.48.2.2
--- llvm/docs/GettingStarted.html:1.48.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/GettingStarted.html	Wed Mar 10 19:04:46 2004
@@ -1147,7 +1147,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 
 </body>


Index: llvm/docs/HowToSubmitABug.html
diff -u llvm/docs/HowToSubmitABug.html:1.11.2.1 llvm/docs/HowToSubmitABug.html:1.11.2.2
--- llvm/docs/HowToSubmitABug.html:1.11.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/HowToSubmitABug.html	Wed Mar 10 19:04:46 2004
@@ -315,7 +315,7 @@
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 
 </body>


Index: llvm/docs/LLVMVsTheWorld.html
diff -u llvm/docs/LLVMVsTheWorld.html:1.5.4.1 llvm/docs/LLVMVsTheWorld.html:1.5.4.2
--- llvm/docs/LLVMVsTheWorld.html:1.5.4.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/LLVMVsTheWorld.html	Wed Mar 10 19:04:46 2004
@@ -66,7 +66,7 @@
 
 <p>GCC: Many relatively mature platform backends support assembly-language code
 generation from many source languages. No run-time compilation
-support. Relatively weak optimization support.</p>
+support.</p>
 </div>
 
 <!-- *********************************************************************** -->
@@ -173,7 +173,7 @@
   <address>Brian R. Gaeke</address>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </div>
 
 </body>


Index: llvm/docs/LangRef.html
diff -u llvm/docs/LangRef.html:1.43.2.1 llvm/docs/LangRef.html:1.43.2.2
--- llvm/docs/LangRef.html:1.43.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/LangRef.html	Wed Mar 10 19:04:46 2004
@@ -623,45 +623,61 @@
 outside of the current module.  It is illegal for a function <i>declaration</i>
 to have any linkage type other than "externally visible".</a></p>
 </div>
+
 <!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="globalvars">Global Variables</a> </div>
+<div class="doc_subsection">
+  <a name="globalvars">Global Variables</a>
+</div>
+
 <div class="doc_text">
+
 <p>Global variables define regions of memory allocated at compilation
 time instead of run-time.  Global variables may optionally be
 initialized.  A variable may be defined as a global "constant", which
 indicates that the contents of the variable will never be modified
-(opening options for optimization).  Constants must always have an
-initial value.</p>
+(opening options for optimization).</p>
+
 <p>As SSA values, global variables define pointer values that are in
 scope (i.e. they dominate) for all basic blocks in the program.  Global
 variables always define a pointer to their "content" type because they
 describe a region of memory, and all memory objects in LLVM are
 accessed through pointers.</p>
+
 </div>
+
+
 <!-- ======================================================================= -->
-<div class="doc_subsection"> <a name="functionstructure">Functions</a> </div>
+<div class="doc_subsection">
+  <a name="functionstructure">Functions</a>
+</div>
+
 <div class="doc_text">
-<p>LLVM function definitions are composed of a (possibly empty)
-argument list, an opening curly brace, a list of basic blocks, and a
-closing curly brace.  LLVM function declarations are defined with the "<tt>declare</tt>"
-keyword, a function name, and a function signature.</p>
-<p>A function definition contains a list of basic blocks, forming the
-CFG for the function.  Each basic block may optionally start with a
-label (giving the basic block a symbol table entry), contains a list of
-instructions, and ends with a <a href="#terminators">terminator</a>
-instruction (such as a branch or function return).</p>
-<p>The first basic block in program is special in two ways: it is
-immediately executed on entrance to the function, and it is not allowed
-to have predecessor basic blocks (i.e. there can not be any branches to
-the entry block of a function).  Because the block can have no
-predecessors, it also cannot have any <a href="#i_phi">PHI nodes</a>.</p>
-<p>
-LLVM functions are identified by their name and type signature.  Hence, two
-functions with the same name but different parameter lists or return values
-are considered different functions, and LLVM will resolves references to each
-appropriately.
-</p>
+
+<p>LLVM function definitions are composed of a (possibly empty) argument list,
+an opening curly brace, a list of basic blocks, and a closing curly brace.  LLVM
+function declarations are defined with the "<tt>declare</tt>" keyword, a
+function name, and a function signature.</p>
+
+<p>A function definition contains a list of basic blocks, forming the CFG for
+the function.  Each basic block may optionally start with a label (giving the
+basic block a symbol table entry), contains a list of instructions, and ends
+with a <a href="#terminators">terminator</a> instruction (such as a branch or
+function return).</p>
+
+<p>The first basic block in program is special in two ways: it is immediately
+executed on entrance to the function, and it is not allowed to have predecessor
+basic blocks (i.e. there can not be any branches to the entry block of a
+function).  Because the block can have no predecessors, it also cannot have any
+<a href="#i_phi">PHI nodes</a>.</p>
+
+<p>LLVM functions are identified by their name and type signature.  Hence, two
+functions with the same name but different parameter lists or return values are
+considered different functions, and LLVM will resolves references to each
+appropriately.</p>
+
 </div>
+
+
 <!-- *********************************************************************** -->
 <div class="doc_section"> <a name="instref">Instruction Reference</a> </div>
 <!-- *********************************************************************** -->
@@ -2058,7 +2074,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 </body>
 </html>


Index: llvm/docs/OpenProjects.html
diff -u llvm/docs/OpenProjects.html:1.15 llvm/docs/OpenProjects.html:1.15.2.1
--- llvm/docs/OpenProjects.html:1.15	Sun Dec 28 17:04:17 2003
+++ llvm/docs/OpenProjects.html	Wed Mar 10 19:04:46 2004
@@ -54,7 +54,7 @@
 Additionally this is a good way to get more information about a specific project
 or to suggest other projects to add to this page.  Another good place to look
 for ideas is the <a href="http://llvm.cs.uiuc.edu/bugs/">LLVM bug
-tracker</a>.</p>
+tracker</a> by querying for <a href="http://llvm.cs.uiuc.edu/bugs/buglist.cgi?keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=enhancement&emailassigned_to1=1&emailtype1=substring&email1=unassigned">unassigned enhancements</a>.</p>
 
 </div>
 
@@ -229,11 +229,11 @@
 
 <div class="doc_text">
 
-<p>We are getting to the point where we really need a unified infrastructure for
-profile guided optimizations.  It would be wonderful to be able to write profile
-guided transformations which can be performed either at static compile time
-(compile time or offline optimization time) or at runtime in a JIT type setup.
-The LLVM transformation itself shouldn't need to know how it is being used.</p>
+<p>We now have a unified infrastructure for writing profile-guided
+transformations, which will work either at offline-compile-time or in the JIT,
+but we don't have many transformations.  We would welcome new profile-guided
+transformations as well as improvements to the current profiling system.
+</p>
 
 <p>Ideas for profile guided transformations:</p>
 
@@ -245,6 +245,23 @@
 <li>...</li>
 </ol>
 
+<p>Improvements to the existing support:</p>
+
+<ol>
+<li>The current block and edge profiling code that gets inserted is very simple
+and inefficient.  Through the use of control-dependence information, many fewer
+counters could be inserted into the code.  Also, if the execution count of a
+loop is known to be a compile-time or runtime constant, all of the counters in
+the loop could be avoided.</li>
+
+<li>You could implement one of the "static profiling" algorithms which analyze a
+piece of code an make educated guesses about the relative execution frequencies
+of various parts of the code.</li>
+
+<li>You could add path profiling support, or adapt the existing LLVM path
+profiling code to work with the generic profiling interfaces.</li>
+</ol>
+
 </div>
 
 <!-- ======================================================================= -->
@@ -291,6 +308,11 @@
 <ol>
 <li>Write a new frontend for some language (Java? OCaml? Forth?)</li>
 <li>Write a new backend for a target (IA64? MIPS? MMIX?)</li>
+<li>Random test vector generator: Use a C grammar to generate random C code;
+run it through llvm-gcc, then run a random set of passes on it using opt.
+Try to crash opt. When opt crashes, use bugpoint to reduce the test case and
+mail the result to yourself.  Repeat ad infinitum.</li>
+<li>Design a simple, recognizable logo.</li>
 </ol>
 
 </div>
@@ -302,7 +324,7 @@
   <address><a href="mailto:sabre at nondot.org">Chris Lattner</a></address>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a>
   <br>
-  Last modified: $Date: 2003/12/28 23:04:17 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </div>
 
 </body>


Index: llvm/docs/ProgrammersManual.html
diff -u llvm/docs/ProgrammersManual.html:1.53.2.1 llvm/docs/ProgrammersManual.html:1.53.2.2
--- llvm/docs/ProgrammersManual.html:1.53.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/ProgrammersManual.html	Wed Mar 10 19:04:46 2004
@@ -1829,7 +1829,7 @@
   <a href="mailto:dhurjati at cs.uiuc.edu">Dinakar Dhurjati</a> and
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 
 </body>


Index: llvm/docs/ReleaseNotes.html
diff -u llvm/docs/ReleaseNotes.html:1.102.2.1 llvm/docs/ReleaseNotes.html:1.102.2.2
--- llvm/docs/ReleaseNotes.html:1.102.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/ReleaseNotes.html	Wed Mar 10 19:04:46 2004
@@ -158,6 +158,7 @@
 <li><a href="http://llvm.cs.uiuc.edu/PR205">[llvmgcc] C front-end does not emit 'zeroinitializer' when possible</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR233">[llvmgcc] Structure copies result in a LOT of code</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR239">LLVM is now much more memory efficient when handling large zero initialized arrays</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR275">[llvmgcc] Local array initializers are expanded into large amounts of code</a></li>
 </ol>
 
 <!--=========================================================================-->
@@ -215,6 +216,8 @@
 <li><a href="http://llvm.cs.uiuc.edu/PR245">Linking weak and strong global variables is dependent on link order</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR258">Variables used to define non-printable FP constants are externally visible</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR259">CBE gives linkonce functions wrong linkage semantics</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR274">[JIT] Programs cannot resolve the fstat function</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR284">[indvars] Induction variable analysis violates LLVM invariants</a></li>
 </ol>
 
 
@@ -229,6 +232,9 @@
 <li><a href="http://llvm.cs.uiuc.edu/PR216">[llvmgcc] floating-point unary minus is incorrect for +0.0</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR221">[llvm-gcc] miscompilation of 'X = Y = Z' with aggregate values</a></li>
 <li><a href="http://llvm.cs.uiuc.edu/PR244">[llvm-gcc] miscompilation when a function is re-declared as static</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR272">[llvmgcc] Invalid code created for complex division operation</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR268">[llvmgcc] Incorrect code generation for pointer subtraction</a></li>
+<li><a href="http://llvm.cs.uiuc.edu/PR261">[llvmg++] Crash assigning pointers-to-members with casted types</a></li>
 </ol>
 
 </div>
@@ -619,7 +625,7 @@
   src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!" /></a>
 
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 
 </body>


Index: llvm/docs/TestingGuide.html
diff -u llvm/docs/TestingGuide.html:1.6.4.1 llvm/docs/TestingGuide.html:1.6.4.2
--- llvm/docs/TestingGuide.html:1.6.4.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/TestingGuide.html	Wed Mar 10 19:04:46 2004
@@ -377,7 +377,7 @@
 
   John T. Criswell<br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 </body>
 </html>


Index: llvm/docs/WritingAnLLVMPass.html
diff -u llvm/docs/WritingAnLLVMPass.html:1.22.2.1 llvm/docs/WritingAnLLVMPass.html:1.22.2.2
--- llvm/docs/WritingAnLLVMPass.html:1.22.2.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/WritingAnLLVMPass.html	Wed Mar 10 19:04:46 2004
@@ -1381,8 +1381,8 @@
 timing and debugging the actual <b>loading</b> of the module from disk or
 standard input.</p>
 
-<p>To solve this problem, eventually the <tt>PassManger</tt> class will accept a
-<tt>ModuleSource</tt> object instead of a Module itself.  When complete, this
+<p>To solve this problem, eventually the <tt>PassManager</tt> class will accept
+a <tt>ModuleSource</tt> object instead of a Module itself.  When complete, this
 will also allow for streaming of functions out of the bytecode representation,
 allowing us to avoid holding the entire program in memory at once if we only are
 dealing with <a href="#FunctionPass">FunctionPass</a>es.</p>
@@ -1396,7 +1396,7 @@
 
 <!-- _______________________________________________________________________ -->
 <div class="subsubsection">
-<a name="PassFunctionPass"><tt>Pass</tt>'s requiring <tt>FunctionPass</tt>'s</a>
+<a name="PassFunctionPass"><tt>Pass</tt>es requiring <tt>FunctionPass</tt>es</a>
 </div>
 
 <div class="doc_text">
@@ -1426,7 +1426,7 @@
 
   <a href="mailto:sabre at nondot.org">Chris Lattner</a><br>
   <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a><br>
-  Last modified: $Date: 2004/03/01 23:56:01 $
+  Last modified: $Date: 2004/03/11 01:04:46 $
 </address>
 
 </body>


Index: llvm/docs/index.html
diff -u llvm/docs/index.html:1.6.4.1 llvm/docs/index.html:1.6.4.2
--- llvm/docs/index.html:1.6.4.1	Mon Mar  1 17:56:01 2004
+++ llvm/docs/index.html	Wed Mar 10 19:04:46 2004
@@ -48,7 +48,7 @@
     <dt>
     For license information:
     <dd>
-        <a href="../LICENSE.TXT">llvm/LICENSE.TXT</a>
+        <a href="http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/LICENSE.TXT?rev=HEAD&content-type=text/x-cvsweb-markup">llvm/LICENSE.TXT</a>
         <p>
 
     <dt>





More information about the llvm-commits mailing list