Skip to content

Commit 8c1879b

Browse files
Add publications & pubs page
1 parent b090376 commit 8c1879b

File tree

383 files changed

+12595
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

383 files changed

+12595
-0
lines changed

content/pubs/_index.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: 'LLVM Related Publications'
3+
description: ""
4+
toc: true
5+
tags: []
6+
draft: false
7+
---
8+
9+
Here are some of the publications that use or build on LLVM.
10+
11+
12+
{{<publications>}}

data/pubs.yml

+2,115
Large diffs are not rendered by default.

hugo.toml

+10
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@ weight = 40
5252
weight = 3
5353
parent = 'Resources'
5454

55+
[[menus.main]]
56+
name = 'Publications'
57+
url = '/pubs'
58+
weight = 4
59+
parent = 'Resources'
60+
5561
[[menus.main]]
5662
name = 'Downloads'
5763
url = 'https://releases.llvm.org'
@@ -123,10 +129,14 @@ title = "The LLVM Compiler Infrastructure"
123129
[[params.footer.columns]]
124130
title = "LLVM"
125131
links = [
132+
{ text = "Getting Started", url = "https://llvm.org/docs/GettingStarted.html" },
126133
{ text = "Features", url = "/features" },
127134
{ text = "Documentation", url = "https://llvm.org/docs" },
128135
{ text = "Blog", url = "https://blog.llvm.org" },
129136
{ text = "FAQ", url = "https://llvm.org/docs/FAQ.html" },
137+
{ text = "Publications", url = "/pubs" },
138+
{ text = "Projects with LLVM", url = "/projects-with-llvm" },
139+
{ text = "GSoC Projects", url = "/gsoc-projects" },
130140
{ text = "Download", url = "https://releases.llvm.org/" }
131141
]
132142

layouts/shortcodes/publications.html

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
{{ $publications := .Site.Data.pubs.pubs }}
2+
{{ $currentYear := -1 }}
3+
4+
{{ range $publications }}
5+
{{ if ne $currentYear .year }}
6+
{{- if ne $currentYear -1 }}
7+
</ol> <!-- Close previous list -->
8+
{{- end }}
9+
<h2 id="{{ .year }}">{{ .year }}</h2>
10+
<ol>
11+
{{ $currentYear = .year }}
12+
{{ end }}
13+
14+
<p>
15+
{{- $titleContent := .title | plainify -}}
16+
{{- $id := anchorize $titleContent -}}
17+
<h3 id="{{ $id }}" style="margin-bottom: 0.25rem">{{ .title }}</h3>
18+
19+
{{ .author }}
20+
21+
{{ if .url }}
22+
[<a href="{{ .url }}">Link</a>]
23+
{{ else }}
24+
[<a href="http://www.google.com/search?q={{ urlquery .title }}">Search</a>]
25+
{{ end }}
26+
27+
<br/>
28+
29+
{{ if .published }}
30+
<i>{{ .published }},</i>
31+
{{ end }}
32+
33+
{{ if .location }}{{ .location }},{{ end }}
34+
35+
{{ if or .month .year }}
36+
{{ if .month }}
37+
{{ index (slice "Jan." "Feb." "Mar." "Apr." "May" "June" "July" "Aug." "Sep." "Oct." "Nov." "Dec.") (sub (int .month) 1) }}
38+
{{ end }}
39+
{{ if .year }} {{ .year }}.{{ end }}
40+
{{ end }}
41+
42+
{{ if .award }}
43+
<br><b>{{ .award }}.</b>
44+
{{ end }}
45+
46+
</p>
47+
{{ end }}
247 KB
Binary file not shown.
Binary file not shown.
31.5 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5+
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" />
6+
<title>Automatic Pool Allocation for Disjoint Data Structures</title>
7+
</head>
8+
9+
<body>
10+
11+
<div class="pub_title">
12+
Automatic Pool Allocation for Disjoint Data Structures
13+
</div>
14+
<div class="pub_author">
15+
<a href="http://www.nondot.org/sabre/">Chris Lattner</a> and
16+
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a>
17+
</div>
18+
19+
<h2>Abstract:</h2>
20+
<blockquote>
21+
This paper presents an analysis technique and a novel program transformation
22+
that can enable powerful optimizations for entire linked data structures. The
23+
fully automatic transformation converts ordinary programs to use pool (aka
24+
region) allocation for heap-based data structures. The transformation relies on
25+
an efficient link-time interprocedural analysis to identify disjoint data
26+
structures in the program, to check whether these data structures are accessed
27+
in a type-safe manner, and to construct a Disjoint Data Structure Graph that
28+
describes the connectivity pattern within such structures. We present
29+
preliminary experimental results showing that the data structure analysis and
30+
pool allocation are effective for a set of pointer intensive programs in the
31+
Olden benchmark suite. To illustrate the optimizations that can be enabled by
32+
these techniques, we describe a novel pointer compression transformation and
33+
briefly discuss several other optimization possibilities for linked data
34+
structures.
35+
</blockquote>
36+
37+
<h2>Published:</h2>
38+
<blockquote>
39+
"Automatic Pool Allocation for Disjoint Data Structures",
40+
Chris Lattner &amp; Vikram Adve,<br>
41+
ACM SIGPLAN <a
42+
href="http://research.microsoft.com/~trishulc/msp2002/">Workshop on Memory
43+
System Performance</a> (MSP), Berlin, Germany, June 2002.<br>
44+
</blockquote>
45+
46+
<h2>Download:</h2>
47+
<ul>
48+
<li><a href="2002-06-AutomaticPoolAllocation.ps">Automatic Pool Allocation for
49+
Disjoint Data Structures</a> (PS)</li>
50+
<li><a href="2002-06-AutomaticPoolAllocation.pdf">Automatic Pool Allocation
51+
for Disjoint Data Structures</a> (PDF)</li>
52+
<li><a href="2002-06-AutomaticPoolAllocation.ppt">Automatic Pool Allocation
53+
for Disjoint Data Structures</a> (Powerpoint slides)</li>
54+
</ul>
55+
56+
<h2>BibTeX Entry:</h2>
57+
<pre>
58+
@InProceedings{LattnerAdve:MSP02,
59+
Author = "{Chris Lattner and Vikram Adve}",
60+
Title = "{Automatic Pool Allocation for Disjoint Data Structures}",
61+
Booktitle = "{Proc. ACM SIGPLAN Workshop on Memory System Performance}",
62+
Address = "{Berlin, Germany}",
63+
Month = {Jun},
64+
Year = {2002}
65+
}
66+
</pre>
67+
68+
</body>
69+
</html>
Binary file not shown.
Binary file not shown.
328 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5+
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" />
6+
<title>Ensuring Code Safety Without Runtime Checks for Real-Time Control
7+
Systems</title>
8+
</head>
9+
<body>
10+
11+
<div class="pub_title">
12+
Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems
13+
</div>
14+
<div class="pub_author">
15+
Sumant Kowshik, Dinakar Dhurjati and
16+
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a>
17+
</div>
18+
19+
20+
<h2>Abstract:</h2>
21+
<blockquote>
22+
This paper considers the problem of providing safe programming
23+
support and enabling secure online software upgrades for control
24+
software in real-time control systems.
25+
In such systems, offline techniques for ensuring code safety are
26+
greatly preferable to online techniques.
27+
We propose a language called Control-C that is essentially a subset
28+
of C, but with key restrictions designed to ensure that memory safety
29+
of code can be verified <i>entirely</i> by static checking,
30+
under certain system assumptions.
31+
The language permits pointer-based data structures, restricted
32+
dynamic memory allocation, and restricted array operations,
33+
without requiring any runtime checks on memory operations and
34+
without garbage collection.
35+
The language restrictions have been chosen based on an understanding
36+
of both compiler technology and the needs of real-time control systems.
37+
The paper describes the language design and a
38+
compiler implementation for Control-C. We use control codes
39+
from three different experimental control systems to evaluate the
40+
suitability of the language for these codes, the effort required
41+
to port them to Control-C, and the effectiveness of the compiler
42+
in detecting a wide range of potential security violations for
43+
one of the systems.
44+
</blockquote>
45+
46+
<h2>Published:</h2>
47+
<blockquote>
48+
"Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems",
49+
Sumant Kowshik, Dinakar Dhurjati &amp; Vikram Adve,<br>
50+
<i><a href="http://www.crest.gatech.edu/conferences/cases2002/">CASES
51+
2002</a></i>, Grenoble, France, Oct 2002.<br>
52+
</blockquote>
53+
54+
<h2>Download:</h2>
55+
<ul>
56+
<li><a href="2002-08-08-CASES02-ControlC.ps">Ensuring Code Safety Without
57+
Runtime Checks for Real-Time Control Systems</a> (PS)</li>
58+
<li><a href="2002-08-08-CASES02-ControlC.pdf">Ensuring Code Safety Without
59+
Runtime Checks for Real-Time Control Systems</a> (PDF)</li>
60+
<li><a href="2002-08-11-CASES02-ControlC.ppt">Ensuring Code Safety Without
61+
Runtime Checks for Real-Time Control Systems - Presentation</a> (PPT)</li>
62+
</ul>
63+
64+
<h2>BibTeX Entry:</h2>
65+
<pre>
66+
@inproceedings{KDA:LCTES03,
67+
Author = {Sumant Kowshik, Dinakar Dhurjati and Vikram Adve},
68+
Title = "{Ensuring Code Safety Without Runtime Checks for Real-Time Control Systems}",
69+
Booktitle = "{Proc. Int'l Conf. on Compilers Architecture and Synthesis for Embedded Systems, 2002}",
70+
Address = {Grenoble, France},
71+
Month = {Oct},
72+
Year = {2002},
73+
URL = {http://llvm.cs.uiuc.edu/pubs/2003-08-08-CASES02-ControlC.html}
74+
}
75+
</pre>
76+
77+
</body>
78+
</html>
122 KB
Binary file not shown.
169 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
5+
<link rel="stylesheet" href="../llvm.css" type="text/css" media="screen" />
6+
<title>The LLVM Instruction Set and Compilation Strategy</title>
7+
</head>
8+
<body>
9+
10+
<div class="pub_title">
11+
The LLVM Instruction Set and Compilation Strategy
12+
</div>
13+
<div class="pub_author">
14+
<a href="http://www.nondot.org/sabre/">Chris Lattner</a> and
15+
<a href="http://www.cs.uiuc.edu/~vadve">Vikram Adve</a>
16+
</div>
17+
18+
<h2>Abstract:</h2>
19+
<blockquote>
20+
This document introduces the LLVM compiler infrastructure and instruction set, a
21+
simple approach that enables sophisticated code transformations at link time,
22+
runtime, and in the field. It is a pragmatic approach to compilation,
23+
interfering with programmers and tools as little as possible, while still
24+
retaining extensive high-level information from source-level compilers for later
25+
stages of an application's lifetime. We describe the LLVM instruction set,
26+
the design of the LLVM system, and some of its key components.
27+
</blockquote>
28+
29+
<h2>Published:</h2>
30+
<blockquote>
31+
"The LLVM Instruction Set and Compilation Strategy",
32+
Chris Lattner &amp; Vikram Adve<br>
33+
Technical Report #UIUCDCS-R-2002-2292, Computer Science Dept., Univ. of
34+
Illinois, Aug. 2002.
35+
</blockquote>
36+
37+
<h2>Update:</h2>
38+
<blockquote>
39+
<p>
40+
Since this document was published, one <b>significant</b> change has been
41+
made to LLVM: the GCC C front-end described in the document has been
42+
completely rewritten from scratch. The new C front-end is based on the
43+
mainline GCC CVS tree (what will become GCC 3.4), and expands type-safe LLVM
44+
code from the GCC AST representation, instead of from the untyped GCC RTL
45+
representation.
46+
</p>
47+
<p>
48+
This change dramatically improved the quality of code generated and the
49+
stability of the system as a whole.
50+
</p>
51+
</blockquote>
52+
53+
<h2>Download:</h2>
54+
<ul>
55+
<li><a href="2002-08-09-LLVMCompilationStrategy.ps">The LLVM Instruction Set
56+
and Compilation Strategy</a> (PS)</li>
57+
<li><a href="2002-08-09-LLVMCompilationStrategy.pdf">The LLVM Instruction Set
58+
and Compilation Strategy</a> (PDF)</li>
59+
</ul>
60+
61+
<h2>BibTeX Entry:</h2>
62+
63+
<B>NOTE</b>: This document has been superseded by <a
64+
href="2002-12-LattnerMSThesis.html">LLVM: An Infrastructure for Multi-Stage
65+
Optimization</a>. If you want to cite a paper about LLVM, please cite it
66+
instead.
67+
68+
<pre>
69+
@TechReport{LattnerAdve:LLVM:ISCS,
70+
Author = "{Chris Lattner and Vikram Adve}",
71+
Title = "{The LLVM Instruction Set and Compilation Strategy}",
72+
Institution = "{CS Dept., Univ. of Illinois at Urbana-Champaign}",
73+
Number = {UIUCDCS-R-2002-2292},
74+
Type = {Tech. Report},
75+
Month = {Aug},
76+
Year = {2002}
77+
}
78+
</pre>
79+
80+
</body>
81+
</html>
Binary file not shown.
Binary file not shown.
158 KB
Binary file not shown.
201 KB
Binary file not shown.
366 KB
Binary file not shown.
620 KB
Binary file not shown.

0 commit comments

Comments
 (0)