[llvm-commits] CVS: llvm-www/pubs/2008-06-PLDI-PuzzleSolving.html 2008-06-PLDI-PuzzleSolving.pdf index.html

Chris Lattner sabre at nondot.org
Fri Apr 25 09:06:47 PDT 2008



Changes in directory llvm-www/pubs:

2008-06-PLDI-PuzzleSolving.html added (r1.1)
2008-06-PLDI-PuzzleSolving.pdf added (r1.1)
index.html updated: 1.67 -> 1.68
---
Log message:

Add Fernando's PLDI'08 paper.


---
Diffs of the changes:  (+44 -0)

 2008-06-PLDI-PuzzleSolving.html |   39 +++++++++++++++++++++++++++++++++++++++
 2008-06-PLDI-PuzzleSolving.pdf  |    0 
 index.html                      |    5 +++++
 3 files changed, 44 insertions(+)


Index: llvm-www/pubs/2008-06-PLDI-PuzzleSolving.html
diff -c /dev/null llvm-www/pubs/2008-06-PLDI-PuzzleSolving.html:1.1
*** /dev/null	Fri Apr 25 11:06:11 2008
--- llvm-www/pubs/2008-06-PLDI-PuzzleSolving.html	Fri Apr 25 11:06:00 2008
***************
*** 0 ****
--- 1,39 ----
+ <!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>Register Allocation by Puzzle Solving</title>
+ </head>
+ <body>
+ 
+ <div class="pub_title">
+  Register Allocation by Puzzle Solving
+ </div>
+ <div class="pub_author">
+  Fernando Magno Quintao Pereira and Jens Palsberg
+ </div>
+ 
+ <h2>Abstract:</h2>
+ <blockquote>
+ We have shown that register allocation can be viewed as solving a collection of puzzles. We model the register file as a puzzle board and the program variables as puzzle pieces; pre-coloring and register aliasing fit in naturally. For architectures such as x86, PowerPC, and StrongARM, we can solve the puzzles in polynomial time, and we have augmented the puzzle solver with a simple heuristic for spilling. For SPEC CPU2000, our implementation is as fast as the extended version of linear scan used by LLVM, which is the JIT compiler in the openGL stack of Mac OS 10.5. Our implementation produces Pentium code that is of similar quality to the code produced by the slower, state-of-the-art iterated register coalescing algorithm of George and Appel augmented with extensions by Smith, Ramsey, and Holloway.
+ </blockquote>
+ 
+ <h2>Bibtex:</h2>
+ <pre>
+ @inproceedings{Pereira08PLDI,
+  author = {Fernando Magno Quintao Pereira and Jens Palsberg},
+  title = {Register Allocation by Puzzle Solving},
+  booktitle = {ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI'08)},
+  year = {2008},
+ }
+ </pre>
+ 
+ <h2>Download:</h2>
+ <ul>
+  <li><a href="2008-06-PLDI-PuzzleSolving.pdf">Register Allocation by Puzzle Solving</a> (PDF)</li>
+  <li><a href="http://compilers.cs.ucla.edu/fernando/projects/puzzles/">Page with links to PDF and source code</a></li>
+ </ul>
+ 
+ </body>
+ </html>


Index: llvm-www/pubs/2008-06-PLDI-PuzzleSolving.pdf


Index: llvm-www/pubs/index.html
diff -u llvm-www/pubs/index.html:1.67 llvm-www/pubs/index.html:1.68
--- llvm-www/pubs/index.html:1.67	Tue Apr 22 20:05:11 2008
+++ llvm-www/pubs/index.html	Fri Apr 25 11:06:00 2008
@@ -8,6 +8,11 @@
 Torvald Riegel, Christof Fetzer, and Pascal Felber<br>
 <i>Proc. 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'08)</i>, June, 2008</li>
 
+<li>"<a href="2008-06-PLDI-PuzzleSolving.html">Register Allocation by Puzzle Solving</a>"<br>
+Fernando Magno Quintao Pereira and Jens Palsberg<br>
+<i>Proc. ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation (PLDI'08)</i>, June, 2008</li>
+
+
 <li>"<a href="2008-03-DATE-TLM_Estimation.html">Cycle-approximate Retargetable Performance 
 Estimation at the Transaction Level</a>"<br>
 Y. Hwang, S. Abdi, and D. Gajski<br>






More information about the llvm-commits mailing list