[llvm-commits] CVS: llvm-www/pubs/2009-10-LCPC-DataRestructuring.html 2009-10-LCPC-DataRestructuring.pdf pubs.js

Török Edwin edwintorok at gmail.com
Sun Jan 10 03:39:26 PST 2010


On 01/10/2010 01:40 AM, Chris Lattner wrote:
> Changes in directory llvm-www/pubs:
>
> 2009-10-LCPC-DataRestructuring.html added (r1.1)
> 2009-10-LCPC-DataRestructuring.pdf added (r1.1)
> pubs.js updated: 1.85 -> 1.86
> ---
> Log message:
>
> add a paper.
>
>
> ---
> Diffs of the changes:  (+55 -0)
>
>  2009-10-LCPC-DataRestructuring.html |   48 ++++++++++++++++++++++++++++++++++++
>  2009-10-LCPC-DataRestructuring.pdf  |    0 
>  pubs.js                             |    7 +++++
>  3 files changed, 55 insertions(+)
>
>
> Index: llvm-www/pubs/2009-10-LCPC-DataRestructuring.html
> diff -c /dev/null llvm-www/pubs/2009-10-LCPC-DataRestructuring.html:1.1
> *** /dev/null	Sat Jan  9 17:39:28 2010
> --- llvm-www/pubs/2009-10-LCPC-DataRestructuring.html	Sat Jan  9 17:39:18 2010
> ***************
> *** 0 ****
> --- 1,48 ----
> + <!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 Restructuring of Linked Data Structures</title>
> + </head>
> + <body>
> + 
> + <div class="pub_title">
> +   Automatic Restructuring of Linked Data Structures
> + </div>
> + <div class="pub_author">
> +   H.L.A. van der Spek, C.W.M. Holm and H.A.G. Wijshof.
> + </div>
> + 
> + <h2>Abstract:</h2>
> + <blockquote>
> + The memory subsystem is one of the major performance bottlenecks in modern computer systems. While much effort is spent on the optimization of codes which access data regularly, not all codes will do so. Programs using pointer linked data structures are notorious for producing such so called irregular memory access patterns. In this paper, we present a compilation and run-time framework that enables fully automatic restructuring of pointer-linked data structures for type-unsafe languages, such as C. The restructuring framework is based on run-time restructuring using run-time trace information. The compiler transformation chain first identifies disjoint data structures that are stored in type-homogeneous memory pools. Access to these pools is traced and from these run-time traces, a permutation vector is derived. The memory pool is restructured at run-time using this permutation, after which all pointers (both stack and heap) that refer to the restructured pool must be upd!
>  ated. 

s/upd!ated/updated!/

--Edwin





More information about the llvm-commits mailing list