-
An Efficient Method of Computing Static Single Assignment Form
-
Simple and Efficient Construction of Static Single Assignment Form - CC 2013
-
A Brief History of JIT Compilation --John Aycock
-
An Incremental Approach to Compiler Construction --Abdulaziz Ghuloum. 2006
- Clang matchers for verified usage of the C++ Standard Template Library --Gábor Horváth, Norbert Pataki. 2014
-
An efficient method of computing static single assignment form --1989 SSA
-
From Quads to Graphs: An Intermediate Prepresention's Journey --Cliff Click. 1993 It is the paper about Java HotSport Server Compiler IR.
-
A Simple Graph-Based Intermediate Representation --Cliff Click, Michael Paleczny. 1995 It is the paper of Java HotSport Server Compiler IR.
-
Thinking About Intermediate Representations --John Rose. September 2014
-
IRDL: An IR Definition Language for SSA Compilers --Mathieu Fehr, Jeff Niu, River Riddle. PLDI 2022. Jnue 2022
-
Lazy code motion --Jens Knoop, Oliver Rüthing, Bernhard Steffen. 1992
-
A New Algorithm for Partial Redundancy Elimination based on SSA Form --Fred Chow, Sun Chan, Robert Kennedy, Shin-Ming Liu, Raymond Lo, Peng Tu. 1997
-
Lazy code motion --Jens Knoop, Oliver Rüthing, Bernhard Steffen. 2004
-
Peephole optimization --W. M. McKeeman. 1965
-
Object Code Optimization --Edward S. Lowry, C. W. Medlock. 1969
-
A Compact, Machine-Independent Peephole Optimizer --Christopher W. Fraser. 1979
-
The Design and Application of a Retargetable Peephole Optimizer --Davidson J. W, Fraser C. W. 1980
-
Code Selection Through Object Code Optimization --Davidson J. W, Fraser C. W. 1984
-
Fifty years of peephole optimization --Pinaki Chakraborty. 2015
-
Code Selection Through Object Code Optimization --Davidson J. W, Fraser C. W. 1984
-
Optimal Code Generation for Expression Trees: An Application of BURS Theory --Eduardo Pelegri-Llopart, Susan L. Graham. 1988 It is the paper of Java HotSport Server Compiler instruction selection .
-
Survey on Instruction Selection --gabriel s. hjort blindell. 2013.
-
Register Allocation via Coloring --Gregory J.Chaitin etc. 1981
-
Register Allocation and Spilling via Graph Coloring -- G.J.Chaitin. 1982
core algorithm: On the Geographical Problem of the Four colours --A. B. Kempe. 1879
-
Improvements to Graph Coloring Register Allocation --Preston Briggs, Keith D.Cooper, Linda Torczon. 1994
-
Iterated Register Coalescing --Lal George, Andrew W.Appel. 1996
-
Optimistic Register Coalescing --Jinpyo Park, Soo-Mook Moon. 1998
-
Optimistic Register Coalescing --Jinpyo Park, Soo-Mook Moon. 2004
-
On the Complexity of Register Coalescing --Florent Bouchez, Alain Darte, Fabrice Rastello. 2007
-
Linear Scan Register Allocation --MASSIMILIANO POLETTO, VIVEK SARKAR. 1999
related: Algorithms for Minimum Coloring, Maximum Clique, Minimum Covering by Cliques, and Maximum Independent Set of a Chordal Graph --Fanica Gavril. 1972
-
Quality and Speed in Linear-scan Register Allocation --Omri Traub, Glenn Holloway, Michael D. Smith. 1998
-
Linear Scan Register Allocation in the Context of SSA Form and Register Constraints --Hanspeter Mossenbock, Michael Pfeiffer. 2002
-
Optimized Interval Splitting in a Linear Scan Register Allocator --Christian Wimmer, Hanspeter Mossenbock. 2005
-
Extended Linear Scan: an Alternate Foundation for Global Register Allocation --Vivek Sarkar, Rajkishore Barik. 2007
- Nearly Optimal Register Allocation with PBQP --Lang Hames, Bernhard Scholz. 2006
Note: Any of the register allocation approaches can be adapted to run on SSA-form programs.
-
[Allocation de registres et vidage en memoire(Master's thesis)] --Florent Bouchez. 2005
-
[Polynomial-time graph coloring register allocation] --Philip Brisc, Foad Dabiri, Jamie Macbeth, Majid Sarrafzadeh. 2005
-
Register Allocation for Programs in SSA-Form --Sebastian Hack, Daniel Grund, and Gerhard Goos. 2006
-
Linear Scan Register Allocation on SSA Form --Christian Wimmer, Michael Franz. 2010
- The FORTRAN automatic coding system -- J. W. Backus, R. J. Beeber, S. Best, R. Goldberg, L. M. Haibt, H. L. Herrick, R. A. Nelson, D. Sayre, P. B. Sheridan, H. Stern, I. Ziller, R. A. Hughes, R. Nutt. 1957
The first register allocation of compiler.
-
A Survey on Register Allocation -- Fernando Magno Quint˜ao Pereira. 2008
-
A SURVEY OF REGISTER ALLOCATION TECHNIQUES -- Jonathan Protzenko. 2009
-
A Detailed Analysis of the LLVM’s Register Allocators --Tiago Cariolano de Souza Xavier, George Souza Oliveira, Ewerton Daniel de Lima and Anderson Faustino da Silva. 2012
1.A Unified Theory of Garbage Collection --David F.Bacon, Perry Cheng, V.T.Rajan. 2004
2.The Java HotSpot™ Server Compiler --Michael Paleczny, Christopher Vick, Cliff Click. JVM'01,2001
3.Visualization of Program Dependence Graphs --Thomas Würthinger. 2007
-
The Development of the C Language --Dennis M. Ritchie
-
APL since 1978 --Roger K. W. Hui, Morten J. Kromberg
-
Thriving in a crowded and changing world: C++ 2006–2020 --Bjarne Stroustrup
-
A history of Clojure --Rich Hickey
-
History of coarrays and SPMD parallelism in Fortran --John Reid, Bill Long, Jon Steidel
-
Origins of the D Programming Language --Walter Bright, Andrei Alexandrescu, Michael Parker
-
Evolution of Emacs Lisp --Stefan Monnier, Michael Sperber
-
The early history of F# --Don Syme
-
A history of the Groovy programming language --Paul King
-
JavaScript: the first 20 years --Allen Wirfs-Brock, Brendan Eich
-
LabVIEW --Jeffrey Kodosky
-
History of Logo --Cynthia Solomon, Brian Harvey, Ken Kahn, Henry Lieberman, Mark L. Miller, Margaret Minsky, Artemis Papert, Brian Silverman
-
Hygienic macro technology --William D. Clinger, Mitchell Wand
-
A history of MATLAB --Cleve Moler, Jack Little
-
The origins of Objective-C at PPI/Stepstone and its evolution at NeXT --Brad J. Cox, Steve Naroff, Hansen Hsu
-
A history of the Oz multiparadigm language --Peter Van Roy, Seif Haridi, Christian Schulte, Gert Smolka
-
S, R, and data science --John M. Chambers
-
The evolution of Smalltalk: from Smalltalk-72 through Squeak --Daniel Ingalls
-
The history of Standard ML --David MacQueen, Robert Harper, John Reppy
-
Verilog HDL and its ancestors and descendants --Peter Flake, Phil Moorby, Steve Golson, Arturo Salz, Simon Davidmann
Notes: 2-20为HOPL IV: History of Programming Languages会议文章,官方网址(https://hopl4.sigplan.org/).
- Thriving in a Crowded and Changing World C++ 2006–2020 --BJARNE STROUSTRUP