diff options
author | cvs2svn <nothing@nowhere.org> | 2003-10-24 20:17:46 +0000 |
---|---|---|
committer | cvs2svn <nothing@nowhere.org> | 2003-10-24 20:17:46 +0000 |
commit | c5cf3309a2126b626c10537eaee40d1d632f33c0 (patch) | |
tree | f9b6af80e159cec53f338ce1ebffdc9bf3c0fff8 | |
parent | e8a63eb78fc38853f951d77d171461e7ff651ad4 (diff) |
This commit was manufactured by cvs2svn to create tag 'RELEASE_1'.svn-tags/RELEASE_1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_1@9499 91177308-0d34-0410-b5e6-96231b3b80d8
48 files changed, 522 insertions, 9952 deletions
diff --git a/LICENSE.TXT b/LICENSE.TXT index 91d27b507b..ec389f3176 100644 --- a/LICENSE.TXT +++ b/LICENSE.TXT @@ -1,37 +1,3 @@ -NOTICE: -======= -All distributions of LLVM prior to the 1.0 Release will be licensed to you -under the LLVM pre-release license. The 1.0 Release will be announced on the -LLVM Announcements Mailing List. - -After the 1.0 Release of LLVM, the LLVM code will be licensed to you under the -LLVM Release License (aka the Illinois Open Source License). - -The main point is that you cannot re-distribute LLVM until the 1.0 Release. - -============================================================================== -LLVM pre-release license -============================================================================== - -This is a pre-release distribution of the LLVM software and is provided for -evaluation only. This version of the LLVM software or modifications thereof -should not be distributed to third parties for any purpose. Any third parties -interested in it can request a copy directly by sending e-mail to -llvmdev@cs.uiuc.edu. As this is an evaluation release, we would appreciate any -and all feedback, ideas, and reports of bugs that you encounter. You may -discuss development of LLVM on llvmdev@cs.uiuc.edu, and bugs can be submitted -through the LLVM Bug Tracker at http://llvm.cs.uiuc.edu/bugzilla/ . We thank -you for your interest in LLVM and look forward to any comments or feedback you -may have. - -THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE -SOFTWARE. - ============================================================================== LLVM Release License ============================================================================== diff --git a/README.txt b/README.txt index 60fd024e62..af2973214d 100644 --- a/README.txt +++ b/README.txt @@ -1,106 +1,129 @@ + The LLVM Compiler Infrastructure + http://llvm.cs.uiuc.edu + Welcome to LLVM! +----------------- +This file is intended to do four things: +(1) help you get started using LLVM; +(2) tell you how to get questions about LLVM answered; +(3) tell you where to find documentation for different kinds of questions; and +(4) tell you about three LLVM-related mailing lists. -This file provides the location of all important LLVM documentation. In -particular, you should read the license information and the installation -directions before you begin using LLVM. -After that, there are several technical references that will help you use LLVM. -Consult them as necessary. +Getting Started with LLVM +------------------------- -Finally, you can find information on how to communicate with the LLVM -developers and LLVM community. This is of primary interest if you wish to -submit a bug, supply a patch, or just keep current with what's going on with -LLVM. +(1) For license information: + llvm/LICENSE.txt -Introductory Literature: +(2) Installing and compiling LLVM: + llvm/docs/GettingStarted.html - LLVM Home Page: - http://llvm.cs.uiuc.edu +(3) Learn about features and limitations of this release: + llvm/docs/ReleaseNotes.html - License Information: - llvm/LICENSE.txt +(4) Learn how to write a pass within the LLVM system: + llvm/docs/WritingAnLLVMPass.html - Release Notes: - llvm/docs/ReleaseNotes.html +(5) Learn how to start a new development project using LLVM, where your + new source code can live anywhere (outside or inside the LLVM tree), + while using LLVM header files and libraries: + llvm/docs/Projects.html -LLVM Design: - The LLVM Instruction Set and Compilation Strategy: - http://llvm.cs.uiuc.edu/pubs/2002-08-09-LLVMCompilationStrategy.html +Getting Help with LLVM +---------------------- -LLVM User Guides: +(1) If you have questions or development problems not answered in the + documentation, send e-mail to llvmdev@cs.uiuc.edu. This mailing list is + monitored by all the people in the LLVM group at Illinois, and you should + expect prompt first responses. - Download and Installation Instructions: - llvm/docs/GettingStarted.html +(2) To report a bug, submit a bug report as described in the document: + http://llvm.cs.uiuc.edu/docs/HowToSubmitABug.html - LLVM Command Guide: - llvm/docs/CommandGuide/CommandGuide.html +(3) We now use Bugzilla to track bugs, so you can check the status of + previous bugs at: + http://llvm.cs.uiuc.edu/bugs/query.cgi - LLVM Assembly Language: - llvm/docs/LangRef.html - LLVM Test Suite Guide: - llvm/docs/TestingGuide.html +LLVM Documentation +------------------ -LLVM Programming Documentation: +All the documents mentioned below except the design overview tech report +are included as part of the LLVM release (in llvm/docs/*): + +LLVM Design Overview: + LLVM : A Compilation Framework for Lifelong Program Analysis + and Transformation: + http://llvm.cs.uiuc.edu/pubs/2003-09-30-LifelongOptimizationTR.html + +LLVM User Guides: + + Download and Installation Instructions: + llvm/docs/GettingStarted.html + + LLVM Command Guide: + llvm/docs/CommandGuide/index.html - LLVM Programmers Manual: - llvm/docs/ProgrammersManual.html + LLVM Assembly Language: + llvm/docs/LangRef.html - Writing an LLVM Pass: - llvm/docs/WritingAnLLVMPass.html + LLVM Test Suite Guide: + llvm/docs/TestingGuide.html + +LLVM Programming Documentation: - Alias Analysis in LLVM: - llvm/docs/AliasAnalysis.html + LLVM Programmers Manual: + llvm/docs/ProgrammersManual.html - Command Line Library: - llvm/docs/CommandLine.html + Writing an LLVM Pass: + llvm/docs/WritingAnLLVMPass.html - Coding Standards: - llvm/docs/CodingStandards.html + Alias Analysis in LLVM: + llvm/docs/AliasAnalysis.html -LLVM Community: + Command Line Library: + llvm/docs/CommandLine.html - Submitting a Bug: - http://llvm.cs.uiuc.edu/docs/HowToSubmitABug.html + Coding Standards: + llvm/docs/CodingStandards.html - Open Projects: - llvm/docs/OpenProjects.html +Other LLVM Resources: - Creating a new LLVM Project: - llvm/docs/Projects.html + Submitting a Bug: + http://llvm.cs.uiuc.edu/docs/HowToSubmitABug.html - Mailing Lists: - There are several mailing lists providing LLVM users with - information: + Open Projects: + llvm/docs/OpenProjects.html - o LLVM Announcements List: - http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce + Creating a new LLVM Project: + llvm/docs/Projects.html - This is a low volume list that provides - important announcements regarding LLVM. It is - primarily intended to announce new releases, - major updates to the software, etc. This list - is highly recommended for anyone that uses LLVM. +Mailing Lists +-------------- +There are three mailing lists for providing LLVM users with information: +(1) LLVM Announcements List: + http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce - o LLVM Developers List: - http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev + This is a low volume list that provides important announcements regarding + LLVM. It is primarily intended to announce new releases, major updates to + the software, etc. This list is highly recommended for anyone that uses + LLVM. - This list is for people who want to be included - in technical discussions of LLVM. People post - to this list when they have questions about - writing code for or using the LLVM tools. It - is low volume. +(2) LLVM Developers List: + http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev - o LLVM Commits List - http://mail.cs.uiuc.edu/mailman/listinfo/llvm-commits + This list is for people who want to be included in technical discussions + of LLVM. People post to this list when they have questions about writing + code for or using the LLVM tools. It is relatively low volume. - This list contains all commit messages that are - made when LLVM developers commit code changes - to the CVS archive. It is useful for those who - want to stay on the bleeding edge of LLVM - development. +(3) LLVM Commits List + http://mail.cs.uiuc.edu/mailman/listinfo/llvm-commits - This list is very high volume. + This list contains all commit messages that are made when LLVM developers + commit code changes to the CVS archive. It is useful for those who want to + stay on the bleeding edge of LLVM development. This list is very high + volume. diff --git a/docs/AliasAnalysis.html b/docs/AliasAnalysis.html index e4bebca8aa..921fabc5aa 100644 --- a/docs/AliasAnalysis.html +++ b/docs/AliasAnalysis.html @@ -494,10 +494,12 @@ printed. <!-- *********************************************************************** --> -<hr><font size="-1"> +<hr> +<font size="-1"> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> Last modified: $Date$ </font> - </body> </html> diff --git a/docs/CFEBuildInstrs.html b/docs/CFEBuildInstrs.html index 080153fe8c..5e753ab992 100644 --- a/docs/CFEBuildInstrs.html +++ b/docs/CFEBuildInstrs.html @@ -15,9 +15,12 @@ C/C++ front-end, based on GCC 3.4, from source.</p> <p><b>NOTE:</b> This is currently a somewhat fragile, error-prone -process, and you should only try to do it if (A) you really, really, -really can't use the binaries we distribute, and (B) you are a wicked -good GCC hacker.</p> +process, and you should only try to do it if +<ul> + <li>(A) you really, really, really can't use the binaries we distribute + <li>(B) you need GCC to fix some of the header files on your system + <li>(C) you are an elite GCC hacker.</p> +</ul> <p>We welcome patches to help make this process simpler.</p> @@ -105,6 +108,11 @@ good GCC hacker.</p> <li>No inline assembly for position independent code. At the LLVM level, everything is position independent.</li> <li>We handle <tt>.init</tt> and <tt>.fini</tt> differently.</li> + <li>You may have to disable multilib support in your target. Using multilib + support causes the GCC compiler driver to add a lot of "<tt>-L</tt>" + options to the link line, which do not relate to LLVM and confuse + <tt>gccld</tt>. To disable multilibs, delete any + <tt>MULTILIB_OPTIONS</tt> lines from your target files.</li> <li>Did we mention that we don't support inline assembly? You'll probably have to add some fixinclude hacks to disable it in the system headers.</li> @@ -149,6 +157,8 @@ following means:</p> <hr><font size="-1"> <address><a href="mailto:gaeke -at- uiuc.edu">Brian Gaeke</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> Last modified: $Date$ </font> diff --git a/docs/ChrisNotes.txt b/docs/ChrisNotes.txt new file mode 100644 index 0000000000..ef75ed919f --- /dev/null +++ b/docs/ChrisNotes.txt @@ -0,0 +1,15 @@ +* Rewrite the llvm parser/lexer in http://www.antlr.org when time permits. + They actually do C++. Imagine that. +* Need a way to attach bytecode block info at various levels of asm code. +* Recognize and save comments in assembly and bytecode format +* Encode line number table in bytecode (like #line), optional table + +* Encode negative relative offsets in the bytecode file + +* Apparently bison has a %pure_parser option. Maybe useful for AsmParser + +* Implement the following derived types: + * "packed format", like this: [4 x sbyte]: Packed SIMD datatype +* Bytecode reader should use extensions that may or may not be linked into the + application to read blocks. Thus an easy way to ignore symbol table info + would be to not link in that reader into the app. diff --git a/docs/CodingStandards.html b/docs/CodingStandards.html index d469d6315e..668f4ec626 100644 --- a/docs/CodingStandards.html +++ b/docs/CodingStandards.html @@ -831,6 +831,8 @@ something. :) <hr> <font size=-1> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Jan 23 15:19:28 CST 2001 --> <!-- hhmts start --> Last modified: Sun Oct 12 22:12:43 CDT 2003 diff --git a/docs/CommandLine.html b/docs/CommandLine.html index a418dcba45..390ca237e0 100644 --- a/docs/CommandLine.html +++ b/docs/CommandLine.html @@ -1530,6 +1530,8 @@ line options </b></font></td></tr></table><ul> <hr> <font size=-1> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Jan 23 15:19:28 CST 2001 --> <!-- hhmts start --> Last modified: Fri Aug 1 16:30:11 CDT 2003 diff --git a/docs/DSGraphStatus.html b/docs/DSGraphStatus.html index 098ff65412..6b12cc35a0 100644 --- a/docs/DSGraphStatus.html +++ b/docs/DSGraphStatus.html @@ -875,6 +875,8 @@ burg.llvm.lib analyze: ../../../include/llvm/Analysis/DSNode.h:7 <hr> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> + <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> + <br> <!-- Created: Wed Nov 6 19:57:57 CST 2002 --> <!-- hhmts start --> Last modified: Thu Nov 14 20:00:50 CST 2002 diff --git a/docs/FAQ.html b/docs/FAQ.html index a76fea66f6..ba71573e8b 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -138,8 +138,25 @@ LLVM: Frequently Asked Questions cases, this takes care of the problem. To do this, just type <tt>make clean</tt> and then <tt>make</tt> in the directory that fails to build. <p> + + <dt><b>I've built LLVM and am testing it, but the tests freeze.</b> + <dd> + This is most likely occurring because you built a profile or release + (optimized) build of LLVM and have not specified the same information on + the <tt>gmake</tt> command line. + <p> + For example, if you built LLVM with the command: + <p> + <tt>gmake ENABLE_PROFILING=1</tt> + <p> + ...then you must run the tests with the following commands: + <p> + <tt>cd llvm/test<br>gmake ENABLE_PROFILING=1</tt> </dl> <hr> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> + </body> </html> diff --git a/docs/GettingStarted.html b/docs/GettingStarted.html index 252d6dc056..10ef30478c 100644 --- a/docs/GettingStarted.html +++ b/docs/GettingStarted.html @@ -90,6 +90,11 @@ <li><tt>cd <i>where-you-want-the-C-front-end-to-live</i></tt> <li><tt>gunzip --stdout cfrontend.<i>platform</i>.tar.gz | tar -xvf -</tt> + <li><b>Sparc Only:</b><br> + <tt> + cd cfrontend/sparc<br> + ./fixheaders + </tt> </ol> <p> @@ -204,8 +209,7 @@ native code may not work on your platform. <p> The GCC front end is not very portable at the moment. If you want to get - it to work on another platform, you can always request - <a href="mailto:llvm-request@zion.cs.uiuc.edu">a copy of the source</a> + it to work on another platform, you can download a copy of the source and try to compile it on your platform. </p> @@ -377,7 +381,8 @@ <p> Before configuring and compiling the LLVM suite, you need to extract the - LLVM GCC front end from the binary distribution. It is used for building the + LLVM GCC front end from the binary distribution. It is used for building + the bytecode libraries later used by the GCC front end for linking programs, and its location must be specified when the LLVM suite is configured. </p> @@ -390,6 +395,29 @@ -</tt> </ol> + If you are on a Sparc/Solaris machine, you will need to fix the header + files: + + <p> + + <tt> + cd cfrontend/sparc + <br> + ./fixheaders + </tt> + + <p> + The binary versions of the GCC front end may not suit all of your needs. + For example, the binary distribution may include an old version of a system + header file, not "fix" a header file that needs to be fixed for GCC, or it + may be linked with libraries not available on your system. + </p> + + <p> + In cases like these, you may want to try + <a href="CFEBuildInstrs.html">building the GCC front end from source.</a> + This is not for the faint of heart, so be forewarned. + </p> <!-------------------------------------------------------------------------> <h3><a name="config">Local LLVM Configuration</a></h3> <!-------------------------------------------------------------------------> @@ -1010,10 +1038,12 @@ If you have any questions or run into any snags (or you have any additions...), please send an email to <a href="mailto:sabre@nondot.org">Chris Lattner</a>.</p> + <a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> + <br> - <!-- Created: Mon Jul 1 02:29:02 CDT 2002 --> - <!-- hhmts start --> -Last modified: Mon Aug 11 13:52:22 CDT 2003 -<!-- hhmts end --> + <!-- Created: Mon Jul 1 02:29:02 CDT 2002 --> + <!-- hhmts start --> + Last modified: Mon Aug 11 13:52:22 CDT 2003 + <!-- hhmts end --> </body> </html> diff --git a/docs/HowToSubmitABug.html b/docs/HowToSubmitABug.html index 3afef5bf96..01a1a24275 100644 --- a/docs/HowToSubmitABug.html +++ b/docs/HowToSubmitABug.html @@ -273,6 +273,8 @@ following: <hr><font size-1> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start --> Last modified: Tue Oct 14 15:57:47 CDT 2003 diff --git a/docs/LangRef.html b/docs/LangRef.html index 56d5153a67..92cf8b2de3 100644 --- a/docs/LangRef.html +++ b/docs/LangRef.html @@ -1947,6 +1947,8 @@ arbitrarily complex and require memory allocation, for example.<p> <hr> <font size=-1> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Jan 23 15:19:28 CST 2001 --> <!-- hhmts start --> Last modified: Tue Oct 21 10:43:36 CDT 2003 diff --git a/docs/OpenProjects.html b/docs/OpenProjects.html index 5f648374d1..aefe9a71e6 100644 --- a/docs/OpenProjects.html +++ b/docs/OpenProjects.html @@ -275,6 +275,8 @@ Ideas for profile guided transformations:<p> <hr><font size-1> <address><a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start --> Last modified: Wed Oct 1 16:48:54 CDT 2003 diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 0bde00e94a..58619e15f2 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -1787,6 +1787,8 @@ pointer to the parent Function. <hr><font size-1> <address>By: <a href="mailto:dhurjati@cs.uiuc.edu">Dinakar Dhurjati</a> and <a href="mailto:sabre@nondot.org">Chris Lattner</a></address> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> <!-- Created: Tue Aug 6 15:00:33 CDT 2002 --> <!-- hhmts start --> Last modified: Sat Sep 20 09:25:11 CDT 2003 diff --git a/docs/Projects.html b/docs/Projects.html index 5de4b58670..b236ab8ac3 100644 --- a/docs/Projects.html +++ b/docs/Projects.html @@ -383,5 +383,8 @@ <hr> Written by <a href="mailto:criswell@uiuc.edu">John Criswell</a>. +<br> +<a href="http://llvm.cs.uiuc.edu">The LLVM Compiler Infrastructure</a> +<br> </body> </html> diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html index c68cbf31b5..8c621c0455 100644 --- a/docs/ReleaseNotes.html +++ b/docs/ReleaseNotes.html @@ -64,7 +64,10 @@ as well as a large suite of scalar and interprocedural optimizations.<p> The default optimizer sequence used by the C/C++ front-ends is:<p> <ol> +<li>CFG simplification (-simplifycfg) <li>Interprocedural dead code elimination (-globaldce) +<li>Interprocedural constant propagation (-ipconstprop) +<li>Dead argument elimination (-deadargelim) <li>Exception handling pruning (-prune-eh) <li>Function inlining (-inline) <li>Instruction combining (-instcombine) @@ -94,6 +97,7 @@ At link-time, the following optimizations are run:<p> <ol> <li>Global constant merging (-constmerge) <li>[optional] Internalization [which marks most functions and global variables static] (-internalize) +<li>Interprocedural constant propagation (-ipconstprop) <li>Interprocedural dead argument elimination (-deadargelim) <li>Instruction combining (-instcombine) <li>CFG simplification (-simplifycfg) @@ -103,7 +107,8 @@ At link-time, the following optimizations are run:<p> At this time, LLVM is known to work properly with SPEC CPU 2000, the Olden benchmarks, and the Ptrdist benchmarks among many other programs. Note however that the Sparc and X86 backends do not currently support exception throwing or -long jumping. For these programs you must use the C backend.<p> +long jumping (including 253.perlbmk in SPEC). For these programs you must use +the C backend.<p> <!-- *********************************************************************** --> @@ -358,6 +363,10 @@ problem probably cannot be fixed.<p> <li><a href="http://llvm.cs.uiuc.edu/PR33">Initializers for global variables</a> cannot include special floating point numbers like Not-A-Number or Infinity.<p> +<li><a href="http://zion.cs.uiuc.edu/PR56">Zero arg vararg functions are not +supported</a>. This should not affect LLVM produced by the C or C++ +frontends.<p> + <li>The code produces by the C back-end has only been tested with the Sun CC and GCC compilers. It is possible that it will have to be adjusted to support other C compilers.<p> |