Skip to content

Commit

Permalink
Add publications & pubs page
Browse files Browse the repository at this point in the history
  • Loading branch information
Chaitanya-Shahare committed Nov 5, 2024
1 parent b090376 commit 8c1879b
Show file tree
Hide file tree
Showing 383 changed files with 12,595 additions and 0 deletions.
12 changes: 12 additions & 0 deletions content/pubs/_index.md
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>}}
2,115 changes: 2,115 additions & 0 deletions data/pubs.yml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ weight = 40
weight = 3
parent = 'Resources'

[[menus.main]]
name = 'Publications'
url = '/pubs'
weight = 4
parent = 'Resources'

[[menus.main]]
name = 'Downloads'
url = 'https://releases.llvm.org'
Expand Down Expand Up @@ -123,10 +129,14 @@ title = "The LLVM Compiler Infrastructure"
[[params.footer.columns]]
title = "LLVM"
links = [
{ text = "Getting Started", url = "https://llvm.org/docs/GettingStarted.html" },
{ text = "Features", url = "/features" },
{ text = "Documentation", url = "https://llvm.org/docs" },
{ text = "Blog", url = "https://blog.llvm.org" },
{ text = "FAQ", url = "https://llvm.org/docs/FAQ.html" },
{ text = "Publications", url = "/pubs" },
{ text = "Projects with LLVM", url = "/projects-with-llvm" },
{ text = "GSoC Projects", url = "/gsoc-projects" },
{ text = "Download", url = "https://releases.llvm.org/" }
]

Expand Down
47 changes: 47 additions & 0 deletions layouts/shortcodes/publications.html
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 added static/pubs/2001-08-02-NGSWorkshop.ppt
Binary file not shown.
Binary file not shown.
Binary file added static/pubs/2002-04-26-PoolAllocationNumbers.xls
Binary file not shown.
69 changes: 69 additions & 0 deletions static/pubs/2002-06-AutomaticPoolAllocation.html
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 &amp; 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 added static/pubs/2002-06-AutomaticPoolAllocation.pdf
Binary file not shown.
Binary file added static/pubs/2002-06-AutomaticPoolAllocation.ppt
Binary file not shown.
Binary file added static/pubs/2002-06-AutomaticPoolAllocation.ps
Binary file not shown.
78 changes: 78 additions & 0 deletions static/pubs/2002-08-08-CASES02-ControlC.html
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 &amp; 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 added static/pubs/2002-08-08-CASES02-ControlC.pdf
Binary file not shown.
Binary file added static/pubs/2002-08-08-CASES02-ControlC.ps
Binary file not shown.
81 changes: 81 additions & 0 deletions static/pubs/2002-08-09-LLVMCompilationStrategy.html
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 &amp; 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 added static/pubs/2002-08-11-CASES02-ControlC.ppt
Binary file not shown.
Binary file added static/pubs/2002-11-15-PLDI-Submission.pdf
Binary file not shown.
Binary file added static/pubs/2002-12-LattnerMSThesis-book.pdf
Binary file not shown.
Binary file added static/pubs/2002-12-LattnerMSThesis-book.ps
Binary file not shown.
Loading

0 comments on commit 8c1879b

Please sign in to comment.