[llvm-commits] CVS: llvm-www/CurrentWork.html Documentation.html OldNews.html Publications.html footer.incl header.incl www-index.html oldnews.html
Chris Lattner
lattner at cs.uiuc.edu
Tue Nov 18 17:06:03 PST 2003
Changes in directory llvm-www:
CurrentWork.html added (r1.1)
Documentation.html added (r1.1)
OldNews.html added (r1.1)
Publications.html added (r1.1)
footer.incl added (r1.1)
header.incl added (r1.1)
www-index.html updated: 1.88 -> 1.89
oldnews.html (r1.2) removed
---
Log message:
Upload new LLVM page
---
Diffs of the changes: (+523 -406)
Index: llvm-www/CurrentWork.html
diff -c /dev/null llvm-www/CurrentWork.html:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/CurrentWork.html Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,81 ----
+ <!--#include virtual="header.incl" -->
+ <div class="www_sectiontitle">Near-term LLVM Development</div>
+
+ The LLVM infrastructure underlies many ongoing
+ research projects in our group. Some key additional
+ components of the system that are being developed in these
+ projects include:
+ <ul>
+ <li><em><strong>Automatic Pool Allocation</strong>:</em>
+ A fully automatic program transformation that introduces
+ <i>region-based memory management</i> in a novel manner:
+ it partitions the heap into separate regions for distinct
+ instances of logical data structures (such as a tree or
+ a hash table).
+ </li>
+ <li><em><strong>A Software Scheme for Online
+ Tracing</strong>:</em> We have developed a tracing scheme that
+ identifies frequently executed program paths at runtime,
+ and optionally extracts these paths into a software-managed
+ trace cache. This currently only works for Sparc code.
+ </li>
+ <li><em><strong>Transparent runtime optimization on
+ general-purpose processors</strong>:</em>
+ We are developing a transparent trace-based runtime
+ optimization system that operates on LLVM traces at runtime,
+ using the software tracing mechanism and trace cache above.
+ </li>
+ </ul>
+
+ <div class="www_sectiontitle">Longer term research</div>
+
+ Our group is participating in several ongoing research
+ projects, all of which are based on LLVM:
+ <ul>
+ <li><em><strong><a href="pubs/2003-10-01-LLVA.html">
+ Low Level Virtual Architecture (LLVA)</a></strong>:</em>
+ A Virtual Instruction Set Computer (VISC) architecture
+ decouples the external instruction set (V-ISA) seen by
+ all external software from the (possibly
+ implementation-specific) hardware ISA used by a
+ particular processor implementation (I-ISA). We
+ believe that a variant of LLVM (which we call Low
+ Level Virtual Architecture, or LLVA) could be a
+ powerful design choice for a V-ISA in such processor
+ designs.
+ We are exploring the architecture, compiler,
+ and operating system benefits of processor designs
+ based on LLVA as the virtual ISA.</li>
+ <li><em><strong><a href="safecode/">
+ SAFECode</a></strong>:</em> SAFECode is a
+ compiler-based system for enforcing program
+ safety. SAFECode uses LLVM as its code
+ representation.</li>
+ <li><em><strong>Macroscopic data structure
+ analysis and transformations</strong>:</em>
+ Analyzing and optimizing entire linked
+ data structures, based on two supporting techniques:
+ <em>Data Structure Analysis (DSA)</em> and
+ <em>Automatic Pool Allocation</em>.
+ DSA gives compilers extensive
+ static information about the structure, instances,
+ and lifetime of entire logical data structures.
+ Pool Allocation gives compilers detailed control over
+ the layout of such data structures in the heap.
+ <em>The DSA pass is included in Release 1.0</em>.
+ </li>
+ <li><em><strong>Runtime optimization on
+ general-purpose processors</strong>:</em>
+ We are developing techniques for optimizing ordinary
+ at runtime, by exploiting the LLVM instruction
+ set and compiler architecture in ways that would not
+ be possible with ordinary static compilation.
+ Our tracing and optimization strategy are described
+ in the section titled <em><a href="#subprojects">
+ Current Development</a></em>.
+ </li>
+ </ul>
+
+
+
+ <!--#include virtual="footer.incl" -->
Index: llvm-www/Documentation.html
diff -c /dev/null llvm-www/Documentation.html:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/Documentation.html Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,125 ----
+ <!--#include virtual="header.incl" -->
+ <div class="www_sectiontitle">LLVM Documentation</div>
+
+ <font size=+1><b>LLVM Design:</b></font>
+
+ <ul>
+ <li><a href="pubs/2003-09-30-LifelongOptimizationTR.html">
+ LLVM: A Compilation Framework for Lifelong Program
+ Analysis & Transformation</a>:
+ - Describes the LLVM instruction set and compilation
+ strategy. This should be the first document you read to
+ get an overview of LLVM. </li>
+ <li><a href="docs/LangRef.html">LLVM Reference Manual</a>
+ - Defines the LLVM
+ intermediate representation, the assembly
+ form of the different nodes, and provides
+ reference information about the different
+ tools in LLVM. </li>
+
+ </ul>
+
+ <font size=+1><b>LLVM User Guides:</b></font>
+
+ <ul>
+ <li><a href="docs/GettingStarted.html">
+ The LLVM Getting Started Guide
+ </a>
+ - Discusses how to get up and running
+ quickly with the LLVM infrastructure.
+ Everything from unpacking and
+ compilation of the distribution to
+ execution of some tools. </li>
+
+ <li><a href="docs/CommandGuide/">LLVM Command Guide</a>
+ - A reference manual for the LLVM command line
+ utilities ("man" pages for LLVM tools). </li>
+
+ <li><a href="docs/Projects.html">LLVM Project Guide</a>
+ - How-to guide and templates for new
+ projects that <em>use</em> the LLVM infrastructure.
+ The templates (directory organization, Makefiles,
+ and test tree) allow the project code to be located
+ outside (or inside) the <tt>llvm/</tt> tree,
+ while using LLVM header files and libraries. </li>
+
+ <li><a href="docs/HowToSubmitABug.html">How to Submit A Bug
+ Report</a> - Instructions for properly submitting information
+ about any bugs you run into in the LLVM system.</li>
+
+ <li><a href="docs/TestingGuide.html">LLVM Test Suite Guide</a>
+ - A reference manual for using the LLVM test suite.</li>
+
+ <li><a href="docs/CFEBuildInstrs.html">How to build the C/C++
+ front-end</a> - Instructions for building the front-end
+ from source.</li>
+ </ul>
+
+ <font size=+1><b>Programming Documentation:</b></font>
+
+ <ul>
+ <li><a href="docs/ProgrammersManual.html">The LLVM
+ Programmers Manual</a> - Introduction to the general
+ layout of the LLVM sourcebase, important classes and
+ APIs, and some tips & tricks. </li>
+
+ <li><a href="docs/WritingAnLLVMPass.html">Writing
+ an LLVM Pass</a> - Information on how to
+ write LLVM transformations and analyses. </li>
+
+ <li><a href="docs/AliasAnalysis.html">Alias Analysis in
+ LLVM</a> - Information on how to write a new alias
+ analysis implementation or how to use existing
+ analyses.</li>
+
+ <li><a href="docs/CommandLine.html">CommandLine
+ library Reference Manual</a>
+ - Provides information on using the command line
+ parsing library.</li>
+
+ <li><a href="docs/CodingStandards.html">Recommended
+ LLVM Coding standards</a>
+ - Details the LLVM coding standards and provides useful
+ information on writing efficient C++ code.</li>
+
+ <li><a href="docs/OpenProjects.html">Open Projects</a>
+ - Look here if you are interested in doing something with
+ LLVM but aren't sure what needs to be done.</li>
+
+ <li><a href="doxygen/">Doxygen generated documentation</a>
+ (<a href="doxygen/inherits.html">classes</a>)
+ </li>
+ <li><a href="/cvsweb/cvsweb.cgi/llvm">CVSWeb CVS Tree Browser</a></li>
+
+ </ul>
+
+ <a name="Support">
+ <table class="www_sectiontitle">
+ <tr><td>LLVM Support</td></tr>
+ </table>
+
+ <ul>
+ <li><a href="docs/FAQ.html">Frequently Asked Questions</a>
+ - A list of common questions and problems and their
+ solutions.</li>
+
+ <li>
+ <a href="docs/HowToSubmitABug.html">How-To-Submit-A-Bug</a>
+ - Instructions for the proper way to submit information
+ about a bug you ran into in the LLVM system.</li>
+
+ <li>LLVM Mailing Lists:
+ <ol>
+ <li>The
+ <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce">
+ LLVM Announcements List</a></li>
+ <li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">Developer's List</a> (LLVM user & developer support)</li>
+ <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvmbugs/">Bugs & Patches Archive</a></li>
+ <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-commits/">CVS Commits Archive</a></li>
+
+ </ol>
+ <li>Results from the <a href="testresults/">LLVM Automated Nightly Tester</a>
+ </ul><p>
+
+
+ <!--#include virtual="footer.incl" -->
\ No newline at end of file
Index: llvm-www/OldNews.html
diff -c /dev/null llvm-www/OldNews.html:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/OldNews.html Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,117 ----
+ <!--#include virtual="header.incl" -->
+ <table class="www_sectiontitle">
+ <tr><td>
+ Older News
+ </td></tr>
+ </table>
+ <br>
+
+ <table border="0">
+ <tr>
+ <td valign="top"><b>May 21, 2003</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Added some new documents to the
+ <a href="#Pubs">publications section</a>.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>May 8, 2003</b></td>
+ <td valign="top">-</td>
+ <td valign="top"><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-May/000382.html">Switched over</a> to the rewritten C front-end which supports variable argument functions and has no known miscompilation bugs.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Mar 4, 2003</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Added a new
+ <a href="docs/AliasAnalysis.html">Alias Analysis</a>
+ document, describing Alias Analysis in LLVM.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Feb 6, 2003</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Added a new
+ <a href="docs/OpenProjects.html">open projects</a>
+ page, listing some desired improvements to LLVM.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Jan 22, 2003</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Implemented a new
+ <a href="testresults/">automated nightly testing
+ framework</a>.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Dec 14, 2002</b></td>
+ <td valign="top">-</td>
+
+ <td valign="top">Added Chris Lattner's <a
+ href="pubs/2002-12-LattnerMSThesis.html">Master's
+ Thesis</a> to the publications list.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Oct 28, 2002</b></td>
+ <td valign="top">-</td>
+
+ <td valign="top">A new <a
+ href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmbugs/">mailing
+ list</a> has been added for LLVM bug reports and patch
+ submissions.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Sep 5, 2002</b></td>
+ <td valign="top">-</td>
+
+ <td valign="top">An initial draft of the <a
+ href="docs/ProgrammersManual.html">LLVM
+ Programmer's Manual</a> is up. It will continue to
+ evolve, but it is at least started now.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Sep 3, 2002</b></td>
+ <td valign="top">-</td>
+
+ <td valign="top">A new <a
+ href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">LLVM
+ Developer's</a> mailing list is available. This is a
+ good place to post questions to, or monitor to find out
+ about major changes to the LLVM source-base.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Aug 8, 2002</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Published the <a
+ href="docs/WritingAnLLVMPass.html">Writing
+ An LLVM Pass</a> document.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Jul 24, 2002</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Published the <a
+ href="docs/GettingStarted.html">LLVM
+ Getting Started Guide</a>.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Jul 1, 2002</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Finished providing
+ initial information about LLVM, we now
+ consider the site to have "gone public".</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Jun 28, 2002</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Added <a
+ href="pubs/2002-08-09-LLVMCompilationStrategy.html">The
+ LLVM Instruction Set and Compilation
+ Strategy</a> document.</td>
+ </tr>
+ <tr>
+ <td valign="top"><b>Jun 13, 2002</b></td>
+ <td valign="top">-</td>
+ <td valign="top">Web page first published.<p></td>
+ </tr>
+
+
+ </table><p><p>
+
+
+ <!--#include virtual="footer.incl" -->
Index: llvm-www/Publications.html
diff -c /dev/null llvm-www/Publications.html:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/Publications.html Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,80 ----
+ <!--#include virtual="header.incl" -->
+ <div class="www_sectiontitle">LLVM Related Publications</div>
+
+ <ol>
+ <li>"<a href="pubs/2003-10-01-LLVA.html">
+ LLVA: A Low-level Virtual Instruction Set
+ Architecture</a>"<br>Vikram Adve, Chris Lattner,
+ Michael Brukman, Anand Shukla, and Brian Gaeke.
+ <a href="http://www.microarch.org/micro36/"><i>Proc.
+ of the 36th annual ACM/IEEE international symposium on
+ Microarchitecture (MICRO-36)</i></a>, San Diego, CA,
+ December 2003.
+
+ <li>"<a href="pubs/2003-09-30-LifelongOptimizationTR.html">
+ LLVM: A Compilation Framework for Lifelong Program
+ Analysis & Transformation</a>",
+ Chris Lattner & Vikram Adve.<br>
+ Technical Report #UIUCDCS-R-2003-2380, Computer Science
+ Dept., Univ. of Illinois, Sep. 2003.
+ <li>"<a href="pubs/2003-05-05-LCTES03-CodeSafety.html">
+ Memory Safety Without Runtime Checks or Garbage
+ Collection</a>"<br>
+ Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and
+ Chris Lattner. <a
+ href="http://www.cs.purdue.edu/s3/LCTES03/">
+ <i>Proc. Languages Compilers and Tools for
+ Embedded Systems 2003 (LCTES 03)</i></a>, San Diego,
+ CA, June 2003. </li>
+ <li>"<a
+ href="pubs/2003-05-01-GCCSummit2003.html">Architecture
+ For a Next-Generation GCC</a>"<br>
+ Chris Lattner & Vikram Adve, <i>
+ <a href="http://www.gccsummit.org/2003/">First
+ Annual GCC Developers' Summit</a></i>,
+ Ottawa, Canada, May 2003.<br>
+ </li>
+ <li>"<a href="pubs/2003-04-29-DataStructureAnalysisTR.html">Data
+ Structure Analysis: An Efficient Context-Sensitive
+ Heap Analysis</a>"<br>
+ Chris Lattner & Vikram Adve, <i>Technical
+ Report #UIUCDCS-R-2003-2340, Computer
+ Science Dept., Univ. of Illinois</i>,
+ Apr. 2003.<br>
+ </li>
+ <li>"<a href="pubs/2002-12-LattnerMSThesis.html">LLVM:
+ An Infrastructure for Multi-Stage
+ Optimization</a>"<br>
+ Chris Lattner. <i>Masters Thesis</i>, Dec. 2002</li>
+ <li>"<a href="pubs/2002-08-08-CASES02-ControlC.html">
+ Ensuring
+ Code Safety Without Runtime Checks for
+ Real-Time Control Systems</a>"<br>
+ Sumant Kowshik, Dinakar Dhurjati, and
+ Vikram Adve. <a href="http://www.crest.gatech.edu/conferences/cases2002/"><i>Proc. Int'l Conf. on
+ Compilers, Architecture and Synthesis for
+ Embedded Systems (CASES02)</i></a>, Grenoble,
+ France, Oct. 2002. </li>
+ <li>"<a
+ href="pubs/2002-08-09-LLVMCompilationStrategy.html">The
+ LLVM Instruction Set and Compilation
+ Strategy</a>"<br>
+ Chris Lattner & Vikram Adve, <i>Technical
+ Report #UIUCDCS-R-2002-2292, Computer
+ Science Dept., Univ. of Illinois</i>,
+ Aug. 2002.<br>
+ </li>
+ <li>"<a
+ href="pubs/2002-06-AutomaticPoolAllocation.html">Automatic
+ Pool Allocation for Disjoint Data
+ Structures</a>,"<br>
+ Chris Lattner & Vikram Adve, <a
+ href="http://research.microsoft.com/~trishulc/msp2002/"><i>ACM
+ SIGPLAN Workshop on Memory System
+ Performance (MSP)</i></a>,
+ Berlin, Germany, June 2002.<br>
+ </li>
+ </ol><p>
+
+
+ <!--#include virtual="footer.incl" -->
Index: llvm-www/footer.incl
diff -c /dev/null llvm-www/footer.incl:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/footer.incl Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,5 ----
+
+ </td></tr>
+ </table>
+ </body>
+ </html>
Index: llvm-www/header.incl
diff -c /dev/null llvm-www/header.incl:1.1
*** /dev/null Tue Nov 18 17:05:03 2003
--- llvm-www/header.incl Tue Nov 18 17:04:53 2003
***************
*** 0 ****
--- 1,66 ----
+ <html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>The LLVM Compiler Infrastructure Project</title>
+ <link rel="stylesheet" href="llvm.css" type="text/css">
+ </head>
+
+ <body leftmargin="0" marginwidth="0">
+
+ <div class="www_title">
+ The <strong>LLVM</strong> Compiler Infrastructure
+ </div>
+
+ <table width=100% border=0 cellpadding=10>
+ <tr>
+ <td valign=top align=center>
+
+ <b>Site Map:</b>
+ <div class="www_sidebar">
+ <a href="/">Overview</a><br>
+ <a href="Documentation.html">Documentation</a><br>
+ <a href="Documentation.html#Support">Support</a><br>
+ <a href="docs/FAQ.html">FAQ</a><br>
+ <a href="Publications.html">Publications</a><br>
+ <a href="CurrentWork.html">Current Work</a><br>
+ <a href="/bugs/">Bug Database</a><br>
+ </div>
+
+ <br>
+
+ <b>Download!</b>
+ <div class="www_sidebar">
+ <font size=-1>Download now:</font>
+ <a href="/releases/"><b>LLVM 1.0</b></a><br>
+
+ <br>
+ <font size=-1>Try the:</font><br>
+ <a href="/demo/"><b>online demo</b></a><br>
+ <br>
+
+ <font size=-1>View the open-source</font><br>
+ <a href="/releases/1.0/LICENSE.TXT"><b>license</b></a>
+ </div>
+
+ <br>
+
+ <b>Status Updates</b>
+ <div class="www_sidebar">
+ <font size=-1>
+ <a href="http://mail.cs.uiuc.edu/pipermail/llvm-announce/2003-November/000003.html">November 18, 2003</a><br>
+ <a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-October/000501.html">October 7, 2003</a><br>
+ <a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-September/000489.html">September 10, 2003</a><br>
+ <a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-August/000448.html">August 15, 2003</a><br>
+ <a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-June/000416.html">June 26, 2003</a><br>
+ <a href="OldNews.html">Older News</a><br>
+ </font>
+ </div>
+
+ <br>
+
+ <font size=-1>Maintained by:<br> <a href="mailto:sabre at nondot.org">Chris
+ Lattner</a></font>
+
+
+ </td>
+ <td valign=top>
Index: llvm-www/www-index.html
diff -u llvm-www/www-index.html:1.88 llvm-www/www-index.html:1.89
--- llvm-www/www-index.html:1.88 Tue Nov 18 11:03:51 2003
+++ llvm-www/www-index.html Tue Nov 18 17:04:53 2003
@@ -1,31 +1,12 @@
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>The LLVM Compiler Infrastructure Project</title>
- <link rel="stylesheet" href="llvm.css" type="text/css">
-</head>
-
-<body leftmargin="0" marginwidth="0">
-
-<div class="www_title">
- The <strong>LLVM</strong> Compiler Infrastructure
-</div>
-
-<div align="center"><center>
+<!--#include virtual="header.incl" -->
<table border="0" cellpadding="0" cellspacing="0" width="95%"
cellborder="0">
<!-- Start of the left bar... --> <tr>
- <td valign="top" width="49%"><table border="0"
- cellpadding="0" cellspacing="8">
+ <td valign="top" width="59%">
+
+<div class="www_sectiontitle">LLVM Overview</div>
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="Overview"></a><font
- color="#000000" size="5"><b>Overview</b></font> </td>
- </tr>
- <tr>
- <td>
Low Level Virtual Machine (LLVM) is:<ol>
<li><a href="pubs/2003-09-30-LifelongOptimizationTR.html">
A compilation strategy</a> - Fundamentally, LLVM is a
@@ -72,393 +53,55 @@
of Computer Science</a> at the <a
href="http://www.uiuc.edu/">University of
Illinois, Urbana-Champaign</a>.<p></p>
- </td>
- </tr>
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="Funding"></a><font
- color="#000000" size="5"><b>Funding</b></font> </td>
- </tr>
- <tr>
- <td>
- This work is sponsored by the
- <a href="http://www.cise.nsf.gov/fndg/pubs/display2.cfm?pgm_pims_id=5160&pgm_supp_id=10070&loc=acir&pub_id=5372&div=acir">NSF <i>Next Generation Software</i></a>
- program through grants EIA-0093426 (an NSF CAREER
- award) and EIA-0103756. It is also supported in part by the
- NSF <i>Operating Systems and Compilers</i> program (grant
- #CCR-9988482), by the NSF <i>Embedded Systems</i> program (grant
- #CCR-0209202), and by the MARCO/DARPA <a
- href="http://www.gigascale.org/"><i>Gigascale Systems Research
- Center</i></a> (GSRC).<p><p>
- </td>
- </tr>
-
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="Pubs"></a><font
- color="#000000" size="5"><b>Publications &
- Papers</b></font> </td>
- </tr>
- <tr>
- <td>
- <ol>
- <li>"<a href="pubs/2003-10-01-LLVA.html">
- LLVA: A Low-level Virtual Instruction Set
- Architecture</a>"<br>Vikram Adve, Chris Lattner,
- Michael Brukman, Anand Shukla, and Brian Gaeke.
- <a href="http://www.microarch.org/micro36/"><i>Proc.
- of the 36th annual ACM/IEEE international symposium on
- Microarchitecture (MICRO-36)</i></a>, San Diego, CA,
- December 2003.
-
- <li>"<a href="pubs/2003-09-30-LifelongOptimizationTR.html">
- LLVM: A Compilation Framework for Lifelong Program
- Analysis & Transformation</a>",
- Chris Lattner & Vikram Adve.<br>
- Technical Report #UIUCDCS-R-2003-2380, Computer Science
- Dept., Univ. of Illinois, Sep. 2003.
- <li>"<a href="pubs/2003-05-05-LCTES03-CodeSafety.html">
- Memory Safety Without Runtime Checks or Garbage
- Collection</a>"<br>
- Dinakar Dhurjati, Sumant Kowshik, Vikram Adve and
- Chris Lattner. <a
- href="http://www.cs.purdue.edu/s3/LCTES03/">
- <i>Proc. Languages Compilers and Tools for
- Embedded Systems 2003 (LCTES 03)</i></a>, San Diego,
- CA, June 2003. </li>
- <li>"<a
- href="pubs/2003-05-01-GCCSummit2003.html">Architecture
- For a Next-Generation GCC</a>"<br>
- Chris Lattner & Vikram Adve, <i>
- <a href="http://www.gccsummit.org/2003/">First
- Annual GCC Developers' Summit</a></i>,
- Ottawa, Canada, May 2003.<br>
- </li>
- <li>"<a href="pubs/2003-04-29-DataStructureAnalysisTR.html">Data
- Structure Analysis: An Efficient Context-Sensitive
- Heap Analysis</a>"<br>
- Chris Lattner & Vikram Adve, <i>Technical
- Report #UIUCDCS-R-2003-2340, Computer
- Science Dept., Univ. of Illinois</i>,
- Apr. 2003.<br>
- </li>
- <li>"<a href="pubs/2002-12-LattnerMSThesis.html">LLVM:
- An Infrastructure for Multi-Stage
- Optimization</a>"<br>
- Chris Lattner. <i>Masters Thesis</i>, Dec. 2002</li>
- <li>"<a href="pubs/2002-08-08-CASES02-ControlC.html">
- Ensuring
- Code Safety Without Runtime Checks for
- Real-Time Control Systems</a>"<br>
- Sumant Kowshik, Dinakar Dhurjati, and
- Vikram Adve. <a href="http://www.crest.gatech.edu/conferences/cases2002/"><i>Proc. Int'l Conf. on
- Compilers, Architecture and Synthesis for
- Embedded Systems (CASES02)</i></a>, Grenoble,
- France, Oct. 2002. </li>
- <li>"<a
- href="pubs/2002-08-09-LLVMCompilationStrategy.html">The
- LLVM Instruction Set and Compilation
- Strategy</a>"<br>
- Chris Lattner & Vikram Adve, <i>Technical
- Report #UIUCDCS-R-2002-2292, Computer
- Science Dept., Univ. of Illinois</i>,
- Aug. 2002.<br>
- </li>
- <li>"<a
- href="pubs/2002-06-AutomaticPoolAllocation.html">Automatic
- Pool Allocation for Disjoint Data
- Structures</a>,"<br>
- Chris Lattner & Vikram Adve, <a
- href="http://research.microsoft.com/~trishulc/msp2002/"><i>ACM
- SIGPLAN Workshop on Memory System
- Performance (MSP)</i></a>,
- Berlin, Germany, June 2002.<br>
- </li>
- </ol><p>
- </td>
- </tr>
-
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="research"></a><font
- color="#000000" size="5"><b>Ongoing Research</b></font>
- </td>
- </tr>
- <tr>
- <td>
- Our group is participating in several ongoing research
- projects, all of which are based on LLVM:
- <ul>
- <li><em><strong><a href="pubs/2003-10-01-LLVA.html">
- Low Level Virtual Architecture (LLVA)</a></strong>:</em>
- A Virtual Instruction Set Computer (VISC) architecture
- decouples the external instruction set (V-ISA) seen by
- all external software from the (possibly
- implementation-specific) hardware ISA used by a
- particular processor implementation (I-ISA). We
- believe that a variant of LLVM (which we call Low
- Level Virtual Architecture, or LLVA) could be a
- powerful design choice for a V-ISA in such processor
- designs.
- We are exploring the architecture, compiler,
- and operating system benefits of processor designs
- based on LLVA as the virtual ISA.</li>
- <li><em><strong><a href="safecode/">
- SAFECode</a></strong>:</em> SAFECode is a
- compiler-based system for enforcing program
- safety. SAFECode uses LLVM as its code
- representation.</li>
- <li><em><strong>Macroscopic data structure
- analysis and transformations</strong>:</em>
- Analyzing and optimizing entire linked
- data structures, based on two supporting techniques:
- <em>Data Structure Analysis (DSA)</em> and
- <em>Automatic Pool Allocation</em>.
- DSA gives compilers extensive
- static information about the structure, instances,
- and lifetime of entire logical data structures.
- Pool Allocation gives compilers detailed control over
- the layout of such data structures in the heap.
- <em>The DSA pass is included in Release 1.0</em>.
- </li>
- <li><em><strong>Runtime optimization on
- general-purpose processors</strong>:</em>
- We are developing techniques for optimizing ordinary
- at runtime, by exploiting the LLVM instruction
- set and compiler architecture in ways that would not
- be possible with ordinary static compilation.
- Our tracing and optimization strategy are described
- in the section titled <em><a href="#subprojects">
- Current Development</a></em>.
- </li>
- </ul>
- </td>
- </tr>
- </table>
+
</td>
-<!-- Dividing bar between columns --><!-- <TD background="img/dot.gif" width=1></TD> --> <TD width=1></TD> <!-- Start of the right bar... 359 --> <td valign="top" width="48%"><table border="0"
- cellpadding="0" cellspacing="8">
+<!-- Dividing space between columns -->
+<TD width="2%"></TD>
+<!-- Start of the right bar... 359 -->
+<td valign="top" width="39%">
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="Releases"></a><font
- color="#000000" size="5"><b>Public LLVM Release!</b></font> </td>
- </tr>
- <tr>
- <td>
- The current version of LLVM is 1.0 is now <a
- href="releases/"><b>available for download</b></a>! LLVM is
- publicly available under the OSI-certified <a
- href="releases/1.0/LICENSE.TXT">University of Illinois
- Open-Source License</a>. See <a
- href="docs/FAQ.html#license">answers</a> to common
- licensing questions.</a><br><p><p></td>
- </tr>
-
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="News"></a><font
- color="#000000" size="5"><b>News</b></font> </td>
- </tr>
- <tr>
- <td>
- <table border="0">
- <tr>
- <td valign="top"><b>Oct 24, 2003</b></td>
- <td valign="top">-</td>
- <td valign="top">The LLVM 1.0 release is now
-<a href="releases/"><b>available for download</b></a>.</td>
- </tr>
- </table><p>
-
- <font size=+1><b>Status Updates:</b></font>
- <ul>
- <li><a href="http://mail.cs.uiuc.edu/pipermail/llvm-announce/2003-November/000003.html">November 18, 2003</a>
- <li><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-October/000501.html">October 7, 2003</a>
- <li><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-September/000489.html">September 10, 2003</a>
- <li><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-August/000448.html">August 15, 2003</a>
- <li><a href="http://mail.cs.uiuc.edu/pipermail/llvmdev/2003-June/000416.html">June 26, 2003</a>
- </ul>
- <center>(<A href="oldnews.html">older news</a>)</center><p><p>
- </td>
- </tr>
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="Docs"></a><font
- color="#000000" size="5"><b>Documentation</b></font> </td>
- </tr>
- <tr>
- <td>
- <font size=+1><b>LLVM Design:</b></font>
-
- <ul>
- <li><a href="pubs/2003-09-30-LifelongOptimizationTR.html">
- LLVM: A Compilation Framework for Lifelong Program
- Analysis & Transformation</a>:
- - Describes the LLVM instruction set and compilation
- strategy. This should be the first document you read to
- get an overview of LLVM. </li>
- <li><a href="docs/LangRef.html">LLVM Reference Manual</a>
- - Defines the LLVM
- intermediate representation, the assembly
- form of the different nodes, and provides
- reference information about the different
- tools in LLVM. </li>
-
- </ul>
-
- <font size=+1><b>LLVM User Guides:</b></font>
-
- <ul>
- <li><a href="docs/GettingStarted.html">
- The LLVM Getting Started Guide
- </a>
- - Discusses how to get up and running
- quickly with the LLVM infrastructure.
- Everything from unpacking and
- compilation of the distribution to
- execution of some tools. </li>
-
- <li><a href="docs/CommandGuide/">LLVM Command Guide</a>
- - A reference manual for the LLVM command line
- utilities ("man" pages for LLVM tools). </li>
-
- <li><a href="docs/Projects.html">LLVM Project Guide</a>
- - How-to guide and templates for new
- projects that <em>use</em> the LLVM infrastructure.
- The templates (directory organization, Makefiles,
- and test tree) allow the project code to be located
- outside (or inside) the <tt>llvm/</tt> tree,
- while using LLVM header files and libraries. </li>
-
- <li><a href="docs/HowToSubmitABug.html">How to Submit A Bug
- Report</a> - Instructions for properly submitting information
- about any bugs you run into in the LLVM system.</li>
-
- <li><a href="docs/TestingGuide.html">LLVM Test Suite Guide</a>
- - A reference manual for using the LLVM test suite.</li>
-
- <li><a href="docs/CFEBuildInstrs.html">How to build the C/C++
- front-end</a> - Instructions for building the front-end
- from source.</li>
- </ul>
-
- <font size=+1><b>Programming Documentation:</b></font>
-
- <ul>
- <li><a href="docs/ProgrammersManual.html">The LLVM
- Programmers Manual</a> - Introduction to the general
- layout of the LLVM sourcebase, important classes and
- APIs, and some tips & tricks. </li>
-
- <li><a href="docs/WritingAnLLVMPass.html">Writing
- an LLVM Pass</a> - Information on how to
- write LLVM transformations and analyses. </li>
-
- <li><a href="docs/AliasAnalysis.html">Alias Analysis in
- LLVM</a> - Information on how to write a new alias
- analysis implementation or how to use existing
- analyses.</li>
-
- <li><a href="docs/CommandLine.html">CommandLine
- library Reference Manual</a>
- - Provides information on using the command line
- parsing library.</li>
-
- <li><a href="docs/CodingStandards.html">Recommended
- LLVM Coding standards</a>
- - Details the LLVM coding standards and provides useful
- information on writing efficient C++ code.</li>
-
- <li><a href="docs/OpenProjects.html">Open Projects</a>
- - Look here if you are interested in doing something with
- LLVM but aren't sure what needs to be done.</li>
-
- <li><a href="doxygen/">Doxygen generated documentation</a>
- (<a href="doxygen/inherits.html">classes</a>)
- </li>
- <li><a href="/cvsweb/cvsweb.cgi/llvm">CVSWeb CVS Tree Browser</a></li>
-
- </ul>
-
- <font size=+1><b>Support:</b></font>
- <ul>
- <li>
- <a href="docs/FAQ.html">Frequently Asked Questions</a>
- - A list of common questions and problems and their
- solutions.
-
- <li>
- <a href="docs/HowToSubmitABug.html">How-To-Submit-A-Bug</a>
- - Instructions for the proper way to submit information
- about a bug you ran into in the LLVM system.</li>
-
- <li>LLVM Mailing Lists:
- <ol>
- <li>The
- <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvm-announce">
- LLVM Announcements List</a></li>
- <li>The <a href="http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev">Developer's List</a> (LLVM user & developer support)</li>
- <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvmbugs/">Bugs & Patches Archive</a></li>
- <li>The <a href="http://mail.cs.uiuc.edu/pipermail/llvm-commits/">CVS Commits Archive</a></li>
-
- </ol>
- <li>Results from the <a href="testresults/">LLVM Automated Nightly Tester</a>
- </ul><p>
- </td>
- </tr>
-
- <tr>
- <td align="center" background="img/sidebars.gif"
- height="34"><a name="subprojects"></a><font
- color="#000000" size="5"><b>Current Development</b></font>
- </td>
- </tr>
- <tr>
- <td>
- The LLVM infrastructure underlies many ongoing
- research projects in our group. Some key additional
- components of the system that are being developed in these
- projects include:
- <ul>
- <li><em><strong>Automatic Pool Allocation</strong>:</em>
- A fully automatic program transformation that introduces
- <i>region-based memory management</i> in a novel manner:
- it partitions the heap into separate regions for distinct
- instances of logical data structures (such as a tree or
- a hash table).
- </li>
- <li><em><strong>A Software Scheme for Online
- Tracing</strong>:</em> We have developed a tracing scheme that
- identifies frequently executed program paths at runtime,
- and optionally extracts these paths into a software-managed
- trace cache. This currently only works for Sparc code.
- </li>
- <li><em><strong>Transparent runtime optimization on
- general-purpose processors</strong>:</em>
- We are developing a transparent trace-based runtime
- optimization system that operates on LLVM traces at runtime,
- using the software tracing mechanism and trace cache above.
- </li>
- </ul>
- </td>
- </tr>
-<!-- End of the right column --> </table>
- </td>
- </tr>
- <tr>
- <td colspan="3" background="img/dot.gif" height="3"> </td>
- </tr>
- <tr>
- <td colspan="3"><font size="2">The page is maintained by </font><a
- href="mailto:sabre at nondot.org"><font size="2">Chris
- Lattner</font></a><font size="2">. Please let me know if
- you have any comments/requests/suggestions/criticisms.</font>
+
+
+<div class="www_sectiontitle">Public LLVM Release!</div>
+
+ <p>
+ The current version of LLVM is 1.0 is now <a href="releases/"><b>available for
+ download</b></a>! LLVM is publicly available under the OSI-certified <a
+ href="releases/1.0/LICENSE.TXT">University of Illinois Open-Source
+ License</a>. See <a href="docs/FAQ.html#license">answers</a> to common
+ licensing questions.</a></p>
+
+<br><br>
+
+
+<div class="www_sectiontitle">Try out LLVM in your browser</div>
+
+ <p>If you'd like to experiment with LLVM, but don't want to download it and
+ compile it, we've got just the thing for you. You can now compile C and C++
+ <a href="/demo">in your browser</a>, to see what the LLVM representation
+ looks like, to see what various C/C++ constructs map to in LLVM, and try out
+ some of the optimizers.</p>
+
+<br><br>
+
+
+<div class="www_sectiontitle">Funding</div>
+<p>
+
+ This work is sponsored by the <a
+ href="http://www.cise.nsf.gov/fndg/pubs/display2.cfm?pgm_pims_id=5160&pgm_supp_id=10070&loc=acir&pub_id=5372&div=acir">NSF
+ <i>Next Generation Software</i></a> program through grants EIA-0093426 (an NSF
+ CAREER award) and EIA-0103756. It is also supported in part by the NSF
+ <i>Operating Systems and Compilers</i> program (grant #CCR-9988482), by the
+ NSF <i>Embedded Systems</i> program (grant #CCR-0209202), and by the
+ MARCO/DARPA <a href="http://www.gigascale.org/"><i>Gigascale Systems Research
+ Center</i></a> (GSRC).</p>
+
+<!-- End of the right column -->
</td>
</tr>
</table>
-</center></div>
-</body>
-</html>
+
+<!--#include virtual="footer.incl" -->
\ No newline at end of file
More information about the llvm-commits
mailing list