[llvm-commits] CVS: llvm-www/Features.html
Misha Brukman
brukman at cs.uiuc.edu
Tue Jun 1 13:39:04 PDT 2004
Changes in directory llvm-www:
Features.html updated: 1.6 -> 1.7
---
Log message:
* Moved "Strengths" sub-section here from the main page
* Tightened up whitespace in HTML code
---
Diffs of the changes: (+91 -75)
Index: llvm-www/Features.html
diff -u llvm-www/Features.html:1.6 llvm-www/Features.html:1.7
--- llvm-www/Features.html:1.6 Mon Mar 8 23:44:19 2004
+++ llvm-www/Features.html Tue Jun 1 13:34:58 2004
@@ -1,91 +1,107 @@
<!--#include virtual="header.incl" -->
<div class="www_sectiontitle">LLVM Features</div>
-<p>
-The <a href="releases/">public release of LLVM</a> is a fully functional
-release of our compiler system for C and C++. As such, it includes the
-following:
-</p>
+<p>The <a href="releases/">public release of LLVM</a> is a fully functional
+release of our compiler system for C and C++. As such, it includes the
+following:</p>
<ul>
- <li>
- Front-ends for C and C++ based on the GCC 3.4 parser. They support the full
- ANSI-standard C and C++ languages, plus many GCC extensions. LLVM
- also includes a front-end for "<a href="docs/Stacker.html">Stacker</a>", a
- Forth-like language.
- </li>
-
- <li>
- A wide range of global scalar optimizations.
- </li>
+ <li>Front-ends for C and C++ based on the GCC 3.4 parser. They support the
+ full ANSI-standard C and C++ languages, plus many GCC extensions. LLVM also
+ includes a front-end for "<a href="docs/Stacker.html">Stacker</a>", a
+ Forth-like language.</li>
+
+ <li> A wide range of global scalar optimizations.</li>
- <li>
- A link-time interprocedural optimization framework with a rich set of
+ <li> A link-time interprocedural optimization framework with a rich set of
analyses and transformations, including sophisticated whole-program pointer
- analysis, call graph construction, and support for profile-guided
- optimizations.
- </li>
-
- <li>
- Native code generators for x86 and Sparc.
- </li>
-
- <li>
- A Just-In-Time (JIT) code generation system for x86 and Sparc.
- </li>
-
- <li>
- A C back-end useful for testing, for supporting targets other than X86 and
- Sparc, and allowing LLVM to use a native code generator.
- </li>
-
- <li>
- A profiling system similar to gprof.
- </li>
-
- <li>
- A test framework with a number of benchmark codes and applications.
- </li>
-
- <li>
- APIs and debugging tools to simplify rapid development of LLVM components.
- </li>
+ analysis, call graph construction, and support for profile-guided
+ optimizations.</li>
+
+ <li>Native code generators for x86 and Sparc.</li>
+
+ <li>A Just-In-Time (JIT) code generation system for x86 and Sparc.</li>
+
+ <li>A C back-end useful for testing, for supporting targets other than X86
+ and Sparc, and allowing LLVM to use a native code generator.</li>
+
+ <li>A profiling system similar to gprof.</li>
+
+ <li>A test framework with a number of benchmark codes and applications.</li>
+
+ <li>APIs and debugging tools to simplify rapid development of LLVM
+ components.</li>
</ul>
+<div class="www_sectiontitle">Strengths of the LLVM System</div>
+
+<div class="www_text">
+
+<ol>
+ <li>LLVM uses a simple <a href="docs/LangRef.html">low-level language</a> with
+ strictly defined semantics.</li>
+
+ <li>It includes front-ends for <a href="docs/CommandGuide/llvmgcc.html">C</a>,
+ <a href="docs/CommandGuide/llvmgxx.html">C++</a>, and <a
+ href="docs/Stacker.html">Stacker</a> (a forth-like language). Front-ends for
+ Java, Microsoft CLI, and O-Caml are in early development.</li>
+
+ <li>It includes an aggressive optimizer, including scalar, interprocedural,
+ profile-driven, and some simple loop optimizations.</li>
+
+ <li>It supports a <a
+ href="http://llvm.cs.uiuc.edu/pubs/2004-01-30-CGO-LLVM.html">life-long
+ compilation model</a>, including link-time, install-time, run-time, and
+ offline optimization.</li>
+
+ <li>LLVM has full support for <a href="docs/GarbageCollection.html">accurate
+ garbage collection</a>.</li>
+
+ <li>It includes native code generators for X86 and Sparc (both of which work
+ as JIT or static compilers). LLVM can also compile to C code, for
+ portability. Other native backends are in development.</li>
+
+ <li>LLVM has extensive <a href="Documentation.html">documentation</a> and has
+ hosted many <a href="ProjectsWithLLVM/">projects</a> of various sorts.</li>
+
+ <li>Many third-party users have claimed that LLVM is easy to work with and
+ develop for. For example, the Stacker front-end was written in <A
+ href="docs/Stacker.html#introduction">4 days</a> by someone who started
+ knowing nothing about LLVM. Additionally, LLVM has tools to make <a
+ href="docs/CommandGuide/bugpoint.html">development easier</a>.</li>
+
+ <li>LLVM is under active development and is constantly being extended,
+ enhanced and improved. See the status updates on the left bar to see the rate
+ of development.</li>
+
+ <li>LLVM is freely available under an OSI-approved "three-clause BSD" <a
+ href="http://llvm.cs.uiuc.edu/docs/FAQ.html#license">license</a>.</li>
+</ol>
+
+</div>
+
<div class="www_sectiontitle">LLVM Audience</div>
-<p>
-LLVM can be used in many different kinds of projects. You might be interested
-in LLVM if you are:
-</p>
+<p>LLVM can be used in many different kinds of projects. You might be
+interested in LLVM if you are:</p>
<ul>
- <li>
- A compiler researcher interested in compile-time, link-time
- (interprocedural), and runtime transformations for C and C++ programs.
- </li>
-
- <li>
- A virtual machine researcher/developer interested in a portable,
- language-independent instruction set and compilation framework.
- </li>
-
- <li>
- An architecture researcher interested in compiler/hardware techniques.
- </li>
-
- <li>
- A security researcher interested in static analysis or instrumentation.
- </li>
-
- <li>
- An instructor (or other person) interested in a system for quick
- prototyping of compiler transformations.
- </li>
-
- <li>
- An end-user who wants to get better performance out of your code.
- </li>
+ <li>A compiler researcher interested in compile-time, link-time
+ (interprocedural), and runtime transformations for C and C++ programs.</li>
+
+ <li>A virtual machine researcher/developer interested in a portable,
+ language-independent instruction set and compilation framework.</li>
+
+ <li>An architecture researcher interested in compiler/hardware
+ techniques.</li>
+
+ <li>A security researcher interested in static analysis or
+ instrumentation.</li>
+
+ <li>An instructor or developer interested in a system for quick prototyping of
+ compiler transformations.</li>
+
+ <li>An end-user who wants to get better performance out of your code.</li>
</ul>
<div class="www_sectiontitle">Want to Know More?</div>
More information about the llvm-commits
mailing list