-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b090376
commit 8c1879b
Showing
383 changed files
with
12,595 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
title: 'LLVM Related Publications' | ||
description: "" | ||
toc: true | ||
tags: [] | ||
draft: false | ||
--- | ||
|
||
Here are some of the publications that use or build on LLVM. | ||
|
||
|
||
{{<publications>}} |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
{{ $publications := .Site.Data.pubs.pubs }} | ||
{{ $currentYear := -1 }} | ||
|
||
{{ range $publications }} | ||
{{ if ne $currentYear .year }} | ||
{{- if ne $currentYear -1 }} | ||
</ol> <!-- Close previous list --> | ||
{{- end }} | ||
<h2 id="{{ .year }}">{{ .year }}</h2> | ||
<ol> | ||
{{ $currentYear = .year }} | ||
{{ end }} | ||
|
||
<p> | ||
{{- $titleContent := .title | plainify -}} | ||
{{- $id := anchorize $titleContent -}} | ||
<h3 id="{{ $id }}" style="margin-bottom: 0.25rem">{{ .title }}</h3> | ||
|
||
{{ .author }} | ||
|
||
{{ if .url }} | ||
[<a href="{{ .url }}">Link</a>] | ||
{{ else }} | ||
[<a href="http://www.google.com/search?q={{ urlquery .title }}">Search</a>] | ||
{{ end }} | ||
|
||
<br/> | ||
|
||
{{ if .published }} | ||
<i>{{ .published }},</i> | ||
{{ end }} | ||
|
||
{{ if .location }}{{ .location }},{{ end }} | ||
|
||
{{ if or .month .year }} | ||
{{ if .month }} | ||
{{ index (slice "Jan." "Feb." "Mar." "Apr." "May" "June" "July" "Aug." "Sep." "Oct." "Nov." "Dec.") (sub (int .month) 1) }} | ||
{{ end }} | ||
{{ if .year }} {{ .year }}.{{ end }} | ||
{{ end }} | ||
|
||
{{ if .award }} | ||
<br><b>{{ .award }}.</b> | ||
{{ end }} | ||
|
||
</p> | ||
{{ end }} |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" /> | ||
<title>Automatic Pool Allocation for Disjoint Data Structures</title> | ||
</head> | ||
|
||
<body> | ||
|
||
<div class="pub_title"> | ||
Automatic Pool Allocation for Disjoint Data Structures | ||
</div> | ||
<div class="pub_author"> | ||
<a href="http://www.nondot.org/sabre/">Chris Lattner</a> and | ||
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> | ||
</div> | ||
|
||
<h2>Abstract:</h2> | ||
<blockquote> | ||
This paper presents an analysis technique and a novel program transformation | ||
that can enable powerful optimizations for entire linked data structures. The | ||
fully automatic transformation converts ordinary programs to use pool (aka | ||
region) allocation for heap-based data structures. The transformation relies on | ||
an efficient link-time interprocedural analysis to identify disjoint data | ||
structures in the program, to check whether these data structures are accessed | ||
in a type-safe manner, and to construct a Disjoint Data Structure Graph that | ||
describes the connectivity pattern within such structures. We present | ||
preliminary experimental results showing that the data structure analysis and | ||
pool allocation are effective for a set of pointer intensive programs in the | ||
Olden benchmark suite. To illustrate the optimizations that can be enabled by | ||
these techniques, we describe a novel pointer compression transformation and | ||
briefly discuss several other optimization possibilities for linked data | ||
structures. | ||
</blockquote> | ||
|
||
<h2>Published:</h2> | ||
<blockquote> | ||
"Automatic Pool Allocation for Disjoint Data Structures", | ||
Chris Lattner & Vikram Adve,<br> | ||
ACM SIGPLAN <a | ||
href="http://research.microsoft.com/~trishulc/msp2002/">Workshop on Memory | ||
System Performance</a> (MSP), Berlin, Germany, June 2002.<br> | ||
</blockquote> | ||
|
||
<h2>Download:</h2> | ||
<ul> | ||
<li><a href="2002-06-AutomaticPoolAllocation.ps">Automatic Pool Allocation for | ||
Disjoint Data Structures</a> (PS)</li> | ||
<li><a href="2002-06-AutomaticPoolAllocation.pdf">Automatic Pool Allocation | ||
for Disjoint Data Structures</a> (PDF)</li> | ||
<li><a href="2002-06-AutomaticPoolAllocation.ppt">Automatic Pool Allocation | ||
for Disjoint Data Structures</a> (Powerpoint slides)</li> | ||
</ul> | ||
|
||
<h2>BibTeX Entry:</h2> | ||
<pre> | ||
@InProceedings{LattnerAdve:MSP02, | ||
Author = "{Chris Lattner and Vikram Adve}", | ||
Title = "{Automatic Pool Allocation for Disjoint Data Structures}", | ||
Booktitle = "{Proc. ACM SIGPLAN Workshop on Memory System Performance}", | ||
Address = "{Berlin, Germany}", | ||
Month = {Jun}, | ||
Year = {2002} | ||
} | ||
</pre> | ||
|
||
</body> | ||
</html> |
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" /> | ||
<title>Ensuring Code Safety Without Runtime Checks for Real-Time Control | ||
Systems</title> | ||
</head> | ||
<body> | ||
|
||
<div class="pub_title"> | ||
Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems | ||
</div> | ||
<div class="pub_author"> | ||
Sumant Kowshik, Dinakar Dhurjati and | ||
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> | ||
</div> | ||
|
||
|
||
<h2>Abstract:</h2> | ||
<blockquote> | ||
This paper considers the problem of providing safe programming | ||
support and enabling secure online software upgrades for control | ||
software in real-time control systems. | ||
In such systems, offline techniques for ensuring code safety are | ||
greatly preferable to online techniques. | ||
We propose a language called Control-C that is essentially a subset | ||
of C, but with key restrictions designed to ensure that memory safety | ||
of code can be verified <i>entirely</i> by static checking, | ||
under certain system assumptions. | ||
The language permits pointer-based data structures, restricted | ||
dynamic memory allocation, and restricted array operations, | ||
without requiring any runtime checks on memory operations and | ||
without garbage collection. | ||
The language restrictions have been chosen based on an understanding | ||
of both compiler technology and the needs of real-time control systems. | ||
The paper describes the language design and a | ||
compiler implementation for Control-C. We use control codes | ||
from three different experimental control systems to evaluate the | ||
suitability of the language for these codes, the effort required | ||
to port them to Control-C, and the effectiveness of the compiler | ||
in detecting a wide range of potential security violations for | ||
one of the systems. | ||
</blockquote> | ||
|
||
<h2>Published:</h2> | ||
<blockquote> | ||
"Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems", | ||
Sumant Kowshik, Dinakar Dhurjati & Vikram Adve,<br> | ||
<i><a href="http://www.crest.gatech.edu/conferences/cases2002/">CASES | ||
2002</a></i>, Grenoble, France, Oct 2002.<br> | ||
</blockquote> | ||
|
||
<h2>Download:</h2> | ||
<ul> | ||
<li><a href="2002-08-08-CASES02-ControlC.ps">Ensuring Code Safety Without | ||
Runtime Checks for Real-Time Control Systems</a> (PS)</li> | ||
<li><a href="2002-08-08-CASES02-ControlC.pdf">Ensuring Code Safety Without | ||
Runtime Checks for Real-Time Control Systems</a> (PDF)</li> | ||
<li><a href="2002-08-11-CASES02-ControlC.ppt">Ensuring Code Safety Without | ||
Runtime Checks for Real-Time Control Systems - Presentation</a> (PPT)</li> | ||
</ul> | ||
|
||
<h2>BibTeX Entry:</h2> | ||
<pre> | ||
@inproceedings{KDA:LCTES03, | ||
Author = {Sumant Kowshik, Dinakar Dhurjati and Vikram Adve}, | ||
Title = "{Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems}", | ||
Booktitle = "{Proc. Int'l Conf. on Compilers Architecture and Synthesis for Embedded Systems, 2002}", | ||
Address = {Grenoble, France}, | ||
Month = {Oct}, | ||
Year = {2002}, | ||
URL = {http://llvm.cs.uiuc.edu/pubs/2003-08-08-CASES02-ControlC.html} | ||
} | ||
</pre> | ||
|
||
</body> | ||
</html> |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" /> | ||
<title>The LLVM Instruction Set and Compilation Strategy</title> | ||
</head> | ||
<body> | ||
|
||
<div class="pub_title"> | ||
The LLVM Instruction Set and Compilation Strategy | ||
</div> | ||
<div class="pub_author"> | ||
<a href="http://www.nondot.org/sabre/">Chris Lattner</a> and | ||
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a> | ||
</div> | ||
|
||
<h2>Abstract:</h2> | ||
<blockquote> | ||
This document introduces the LLVM compiler infrastructure and instruction set, a | ||
simple approach that enables sophisticated code transformations at link time, | ||
runtime, and in the field. It is a pragmatic approach to compilation, | ||
interfering with programmers and tools as little as possible, while still | ||
retaining extensive high-level information from source-level compilers for later | ||
stages of an application's lifetime. We describe the LLVM instruction set, | ||
the design of the LLVM system, and some of its key components. | ||
</blockquote> | ||
|
||
<h2>Published:</h2> | ||
<blockquote> | ||
"The LLVM Instruction Set and Compilation Strategy", | ||
Chris Lattner & Vikram Adve<br> | ||
Technical Report #UIUCDCS-R-2002-2292, Computer Science Dept., Univ. of | ||
Illinois, Aug. 2002. | ||
</blockquote> | ||
|
||
<h2>Update:</h2> | ||
<blockquote> | ||
<p> | ||
Since this document was published, one <b>significant</b> change has been | ||
made to LLVM: the GCC C front-end described in the document has been | ||
completely rewritten from scratch. The new C front-end is based on the | ||
mainline GCC CVS tree (what will become GCC 3.4), and expands type-safe LLVM | ||
code from the GCC AST representation, instead of from the untyped GCC RTL | ||
representation. | ||
</p> | ||
<p> | ||
This change dramatically improved the quality of code generated and the | ||
stability of the system as a whole. | ||
</p> | ||
</blockquote> | ||
|
||
<h2>Download:</h2> | ||
<ul> | ||
<li><a href="2002-08-09-LLVMCompilationStrategy.ps">The LLVM Instruction Set | ||
and Compilation Strategy</a> (PS)</li> | ||
<li><a href="2002-08-09-LLVMCompilationStrategy.pdf">The LLVM Instruction Set | ||
and Compilation Strategy</a> (PDF)</li> | ||
</ul> | ||
|
||
<h2>BibTeX Entry:</h2> | ||
|
||
<B>NOTE</b>: This document has been superseded by <a | ||
href="2002-12-LattnerMSThesis.html">LLVM: An Infrastructure for Multi-Stage | ||
Optimization</a>. If you want to cite a paper about LLVM, please cite it | ||
instead. | ||
|
||
<pre> | ||
@TechReport{LattnerAdve:LLVM:ISCS, | ||
Author = "{Chris Lattner and Vikram Adve}", | ||
Title = "{The LLVM Instruction Set and Compilation Strategy}", | ||
Institution = "{CS Dept., Univ. of Illinois at Urbana-Champaign}", | ||
Number = {UIUCDCS-R-2002-2292}, | ||
Type = {Tech. Report}, | ||
Month = {Aug}, | ||
Year = {2002} | ||
} | ||
</pre> | ||
|
||
</body> | ||
</html> |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.