C. Parallel, 157 7.8 Compensation when moving a parallel copy from a critical edge 158 7.9 Decomposing a parallel copy with duplications 160 7.10 Four possibilities when decomposing parallel copies with duplications 163 7.11 Sequentializing reversible parallel copies 168 7.12 Moving a permutation up in a basic block, p.172

F. E. Allen and J. Cocke, A program data flow analysis procedure, Communications of the ACM, vol.19, issue.3, p.137, 1976.
DOI : 10.1145/360018.360025

B. Alpern, M. N. Wegman, and F. K. Zadeck, Detecting equality of variables in programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '88, pp.1-11, 1988.
DOI : 10.1145/73560.73561

A. Appel, Modern compiler implementation in ML, 1998.
DOI : 10.1017/CBO9780511811449

A. Appel and L. George, Optimal Coalescing Challenge, 2000.

A. W. Appel and L. George, Optimal spilling for CISC machines with few registers, Proceedings of the acm sigplan conference on programming language design and implementation, pp.243-253, 2001.

R. Barik, C. Grothoff, R. Gupta, V. Pandit, and R. Udupa, Optimal Bitwise Register Allocation Using Integer Linear Programming, Languages and Compilers for Parallel Computing, pp.267-282, 2007.
DOI : 10.1007/978-3-540-72521-3_20

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.593.4719

L. Belady, A study of replacement algorithms for a virtual-storage computer, IBM Systems Journal, vol.5, issue.2, pp.78-101, 1966.
DOI : 10.1147/sj.52.0078

C. Berge, Graphs and Hypergraphs, 1973.

P. Bergner, P. Dahl, D. Engebretsen, and M. T. O-'keefe, Spill code minimization via interference region spilling, SIGPLAN Conference on Programming Language Design and Implementation, pp.287-295, 1997.
DOI : 10.1145/258916.258941

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.3362

D. Bernstein, M. Golumbic, Y. Mansour, R. Pinter, D. Goldin et al., Spill code minimization techniques for optimizing compliers, Proceedings of the SIGPLAN '89 Conference on Programming language design and implementation, pp.258-263, 1989.

S. Blazy and B. Robillard, Live-Range Unsplitting for Faster Optimal Coalescing, Centre d'Étude et de Recherche en Informatique du Cnam (CEDRIC), 2008.
DOI : 10.1145/1543136.1542462

URL : https://hal.archives-ouvertes.fr/hal-01125616

B. Boissinot, S. Hack, D. Grund, B. D. De-dinechin, and F. Rastello, Fast liveness checking for SSA-form programs. In CGO'08: proceedings of the sixth annual ieee, pp.35-44, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00192219

B. Boissinot, A. Darte, B. Dupont-de-dinechin, C. Guillon, and F. Rastello, Revisiting out-of-ssa translation for correctness, efficiency, and speed, International Symposium on Code Generation and Optimization (CGO'09, 2009.

F. Bouchez, A. Darte, C. Guillon, and F. Rastello, Register allocation and spill complexity under SSA, 2005.

F. Bouchez, A. Darte, and F. Rastello, Advanced conservative and optimistic register coalescing, Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, CASES '08, pp.147-156, 2008.
DOI : 10.1145/1450095.1450119

D. G. Bradlee, S. J. Eggers, and R. R. Henry, Integrating register allocation and instruction scheduling for riscs, ASPLOS-IV: Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, pp.122-131, 1991.

P. Briggs, Register allocation via graph coloring, 1992.

P. Briggs, K. Cooper, K. Kennedy, and L. Torczon, Coloring heuristics for register allocation, Proceedings of the conference on Programming language design and implementation, pp.275-284, 1989.

P. Briggs, K. D. Cooper, and L. Torczon, Improvements to graph coloring register allocation, ACM Transactions on Programming Languages and Systems, vol.16, issue.3, pp.428-455, 1994.
DOI : 10.1145/177492.177575

P. Briggs, K. D. Cooper, T. J. Harvey, and L. T. Simpson, Practical improvements to the construction and destruction of static single assignment form. Software: Practice and Experience, pp.859-881, 1998.

P. Brisk, F. Dabiri, J. Macbeth, and M. Sarrafzadeh, Polynomial time graph coloring register allocation, 14th International Workshop on Logic and Synthesis, 2005.

Z. Budimli´cbudimli´c, K. Cooper, T. Harvey, K. Kennedy, T. Oberg et al., Fast copy coalescing and live range identification, Proceedings of the ACM Sigplan Conference on Programming Language Design and Implementation (PLDI'02), pp.25-32, 2002.

D. Callahan and B. Koblenz, Register allocation via hierarchical graph coloring, PLDI '91: Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, pp.192-203, 1991.
DOI : 10.1145/113446.113462

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.138.8853

G. J. Chaitin, Register allocation & spilling via graph coloring, Proceedings of the ACM SIGPLAN Symposium on Compiler Construction (CC'82)) of SIGPLAN Notices, pp.98-105, 1982.

G. J. Chaitin, M. A. Auslander, A. K. Chandra, J. Cocke, M. E. Hopkins et al., Register allocation via coloring, Computer Languages, vol.6, issue.1, pp.47-57, 1981.
DOI : 10.1016/0096-0551(81)90048-5

F. Chow and J. Hennessy, Register allocation by priority-based coloring, ACM SIGPLAN Notices, vol.19, issue.6, pp.222-232, 1984.
DOI : 10.1145/502949.502896

F. Chow and J. Hennessy, The priority-based coloring approach to register allocation, ACM Transactions on Programming Languages and Systems, vol.12, issue.4, pp.501-536, 1990.
DOI : 10.1145/88616.88621

K. Cooper, A. Dasgupta, and J. Eckhardt, Revisiting Graph Coloring Register Allocation: A Study of the Chaitin-Briggs and Callahan-Koblenz Algorithms, Workshop on Languages and Compilers for Parallel Computing (LCPC'05), 2005.
DOI : 10.1007/978-3-540-69330-7_1

K. D. Cooper and A. Dasgupta, Tailoring Graph-coloring Register Allocation For Runtime Compilation, International Symposium on Code Generation and Optimization (CGO'06), pp.39-49, 2006.
DOI : 10.1109/CGO.2006.35

K. D. Cooper and L. T. Simpson, Live range splitting in a graph coloring register allocator, Compiler Construction, pp.174-187, 1998.
DOI : 10.1007/BFb0026430

K. D. Cooper, L. T. Simpson, and C. A. Vick, Operator strength reduction, ACM Transactions on Programming Languages and Systems, vol.23, issue.5, pp.603-625, 2001.
DOI : 10.1145/504709.504710

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.4740

K. D. Cooper, T. J. Harvey, and D. M. Peixotto, Chow and Hennessy vs. Chaitin-Briggs Register Allocation: Using Adaptive Compilation to Fairly Compare Algorithms, SMART, 2008.

T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algorithms, 1989.

R. Cytron and J. Ferrante, What's in a name? Or the value of renaming for parallelism detection and storage allocation, Proceedings of the 1987 International Conference on Parallel Processing, pp.19-27, 1987.

R. Cytron and R. Gershbein, Efficient accommodation of may-alias information in SSA form, PLDI'93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, pp.36-45, 1993.

R. Cytron, J. Ferrante, B. Rosen, M. Wegman, and K. Zadeck, Efficiently computing static single assignment form and the control dependence graph, ACM Transactions on Programming Languages and Systems, vol.13, issue.4, pp.451-490, 1991.
DOI : 10.1145/115372.115320

E. Dahlhaus, D. S. Johnson, C. H. Papadimitriou, P. D. Seymour, and M. Yannakakis, The complexity of multiway cuts, 24th Annual ACM STOC, pp.241-251, 1992.

W. David, K. D. Goodwin, and . Wilken, Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming. Software: Practice and Experience, pp.929-965, 1996.

C. Eisenbeis, F. Gasperoni, and U. Schwiegelshohn, Allocating registers in multipleinstruction issuing processors, 1995.

B. J. Fabri, Automatic storage optimization, Proceedings of the SIGPLAN symposium on Compiler construction, pp.83-91, 1979.
DOI : 10.1145/800229.806957

M. Farach-colton and V. Liberatore, On Local Register Allocation, Journal of Algorithms, vol.37, issue.1, pp.37-65, 2000.
DOI : 10.1006/jagm.2000.1095

J. Fisher, Trace Scheduling: A Technique for Global Microcode Compaction, IEEE Transactions on Computers, vol.30, issue.7, pp.30478-490, 1981.
DOI : 10.1109/TC.1981.1675827

S. M. Freudenberger, T. R. Gross, and P. G. Lowney, Avoidance and suppression of compensation code in a trace scheduling compiler, ACM Transactions on Programming Languages and Systems, vol.16, issue.4, pp.1156-1214, 1994.
DOI : 10.1145/183432.183446

C. Fu and K. Wilken, A faster optimal register allocator. Microarchitecture, IEEE/ACM International Symposium on, p.245, 2002.

D. R. Fulkerson and O. A. Gross, Incidence matrices and interval graphs, Pacific Journal of Mathematics, vol.15, issue.3, pp.835-855, 1965.
DOI : 10.2140/pjm.1965.15.835

M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, 1979.

M. R. Garey, D. S. Johnson, and L. Stockmeyer, Some simplified NP-complete graph problems, Theoretical Computer Science, vol.1, issue.3, pp.237-267, 1976.
DOI : 10.1016/0304-3975(76)90059-1

M. R. Garey, D. S. Johnson, G. L. Miller, and C. H. Papadimitriou, The Complexity of Coloring Circular Arcs and Chords, SIAM Journal on Algebraic Discrete Methods, vol.1, issue.2, pp.216-227, 1980.
DOI : 10.1137/0601025

L. George and A. W. Appel, Iterated register coalescing, ACM Transactions on Programming Languages and Systems, vol.18, issue.3, pp.300-324, 1996.
DOI : 10.1145/229542.229546

P. B. Gibbons and S. S. Muchnick, Efficient instruction scheduling for a pipelined architecture, SIGPLAN '86: Proceedings of the 1986 SIGPLAN symposium on Compiler construction, pp.11-16, 1986.
DOI : 10.1145/12276.13312

M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, 1980.

J. R. Goodman and W. Hsu, Code scheduling and register allocation in large basic blocks, ICS '88: Proceedings of the 2nd international conference on Supercomputing, pp.442-452, 1988.

D. W. Goodwin and K. D. Wilken, Optimal and near-optimal global register allocations using 0?1 integer programming, 8<929:: AID-SPE40>3.3.CO, pp.929-9651097, 1996.

D. Grund and S. Hack, A Fast Cutting-Plane Algorithm for Optimal Coalescing, Compiler Construction, pp.111-125, 2007.
DOI : 10.1007/978-3-540-71229-9_8

J. Guo, M. J. Garzarán, and D. Padua, The Power of Belady???s Algorithm in Register Allocation for Long Basic Blocks, Languages and Compilers for Parallel Computing, pp.374-390, 2004.
DOI : 10.1007/978-3-540-24644-2_24

S. Hack, Register Allocation for Programs in SSA-Form, 2007.
DOI : 10.1007/11688839_20

S. Hack and G. Goos, Optimal register allocation for SSA-form programs in polynomial time, Information Processing Letters, vol.98, issue.4, pp.150-155, 2006.
DOI : 10.1016/j.ipl.2006.01.008

S. Hack and G. Goos, Copy coalescing by graph recoloring, PLDI '08: Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation, pp.227-237, 2008.
DOI : 10.1145/1375581.1375610

S. Hack, D. Grund, and G. Goos, Towards register allocation for programs in SSAform, 2005.

S. Hack, D. Grund, and G. Goos, Register Allocation for Programs in SSA-Form, International Conference on Compiler Construction, 2006.
DOI : 10.1007/11688839_20

M. Hailperin, Comparing conservative coalescing criteria, ACM Transactions on Programming Languages and Systems, vol.27, issue.3, pp.571-582, 2005.
DOI : 10.1145/1065887.1065894

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.177.5631

L. P. Horwitz, R. M. Karp, R. E. Miller, and S. Winograd, Index Register Allocation, Journal of the ACM, vol.13, issue.1, pp.43-61, 1966.
DOI : 10.1145/321312.321317

S. Kannan and T. Proebsting, Register Allocation in Structured Programs, SODA '95: Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms, pp.360-368, 1995.
DOI : 10.1006/jagm.1998.0956

A. B. Kempe, On the Geographical Problem of the Four Colours, American Journal of Mathematics, vol.2, issue.3, pp.193-200, 1879.
DOI : 10.2307/2369235

D. Kim and H. Lee, Integrated Instruction Scheduling and Fine-Grain Register Allocation for Embedded Processors, Embedded Computer Systems: Architectures, Modeling, and Simulation, pp.269-278, 2006.
DOI : 10.1007/11796435_28

S. Kim and S. Moon, Rotating Register Allocation for Enhanced Pipeline Scheduling, 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007), pp.60-7261, 2007.
DOI : 10.1109/PACT.2007.4336200

K. Knobe and K. Zadeck, Register allocation using control trees Experimental evaluation and improvements to linear scan register allocation. Software: Practice and Experience, BIBLIOGRAPHY Konstantinos Sagonas and Erik Stenman, pp.331003-1034, 1992.

T. Kotzmann, C. Wimmer, H. Mössenböck, T. Rodriguez, K. Russell et al., Design of the Java HotSpot#8482; client compiler for Java 6, ACM Transactions on Architecture and Code Optimization, vol.5, issue.1, pp.1-32, 2008.
DOI : 10.1145/1369396.1370017

A. Leung and L. George, Static single assignment form for machine code, Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99), pp.204-214, 1999.

A. Leung and L. George, A new MLRISC register allocator, 1999.

V. Liberatore, M. Farach-colton, and U. Kremer, Evaluation of Algorithms for Local Register Allocation, 8th International Conference on Compiler Construction (CC'99), held as part of ETAPS'99, pp.137-152, 1999.
DOI : 10.1007/978-3-540-49051-7_10

G. Lueh, T. Gross, and A. Adl-tabatabai, Fusion-based register allocation, ACM Transactions on Programming Languages and Systems, vol.22, issue.3, pp.431-470, 2000.
DOI : 10.1145/353926.353929

C. May, The parallel assignment problem redefined, IEEE Transactions on Software Engineering, vol.15, issue.6, pp.821-824, 1989.
DOI : 10.1109/32.24735

S. G. Nagarakatte and R. Govindarajan, Register Allocation and Optimal Spill Code Scheduling in Software Pipelined Loops Using 0-1 Integer Linear Programming Formulation, Compiler Construction, pp.126-140, 2007.
DOI : 10.1007/978-3-540-71229-9_9

M. Naik and J. Palsberg, Compiling with code-size constraints, ACM Transactions on Embedded Computing Systems, vol.3, issue.1, pp.163-181, 2004.
DOI : 10.1145/972627.972635

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.5380

Q. Ning and G. R. Gao, A novel framework of register allocation for software pipelining, Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '93, pp.29-42, 1993.
DOI : 10.1145/158511.158519

C. Norris and L. L. Pollock, Register allocation over the program dependence graph, ACM SIGPLAN Notices, vol.29, issue.6, pp.266-277, 1994.
DOI : 10.1145/773473.178427

J. Park and S. Moon, Optimistic register coalescing, ACM Transactions on Programming Languages and Systems, vol.26, issue.4, 2004.
DOI : 10.1145/1011508.1011512

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.9438

J. Park and S. Moon, Optimistic register coalescing, Proceedings of the International Conference on Parallel Architecture and Compilation Techniques (PACT'98), pp.196-204, 1998.
DOI : 10.1145/1011508.1011512

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.9438

F. M. Pereira and J. Palsberg, SSA Elimination after Register Allocation, CC '09: Proceedings of the 18th International Conference on Compiler Construction, pp.158-173978, 2009.
DOI : 10.1007/978-3-642-00722-4_12

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.3514

F. M. Pereira and J. Palsberg, Register Allocation After Classical SSA Elimination is NP-Complete, Proceedings of Foundations of Software Science and Computation Structures (FOSSACS'06), 2006.
DOI : 10.1007/11690634_6

F. M. Pereira and J. Palsberg, Register Allocation Via Coloring of Chordal Graphs, Proceedings of the Asian Symposium on Programming Languages and Systems (APLAS'05), pp.315-329, 2005.
DOI : 10.1007/11575467_21

F. M. Pereira and J. Palsberg, Register allocation by puzzle solving, PLDI '08: Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation, pp.216-226, 2008.

M. Poletto and V. Sarkar, Linear scan register allocation, ACM Transactions on Programming Languages and Systems, vol.21, issue.5, pp.895-913, 1999.
DOI : 10.1145/330249.330250

M. Poletto, D. R. Engler, and M. F. Kaashoek, tcc, ACM SIGPLAN Notices, vol.32, issue.5, pp.109-121, 1997.
DOI : 10.1145/258916.258926

F. Rastello, F. De-ferrière, and C. Guillon, Optimizing translation out of SSA using renaming constraints, International Symposium on Code Generation and Optimization, 2004. CGO 2004., pp.265-278, 2004.
DOI : 10.1109/CGO.2004.1281680

F. Rastello, F. De-ferrière, and C. Guillon, Optimizing translation out of SSA using renaming constraints, International Symposium on Code Generation and Optimization, 2004. CGO 2004., 2005.
DOI : 10.1109/CGO.2004.1281680

L. Rideau, B. P. Serpette, and X. Leroy, Tilting at Windmills with Coq: Formal Verification of a Compilation Algorithm for Parallel Moves, Journal of Automated Reasoning, vol.13, issue.12, pp.307-326, 2008.
DOI : 10.1007/s10817-007-9096-8

URL : https://hal.archives-ouvertes.fr/inria-00289709

H. Rong, A. Douillet, and G. R. Gao, Register allocation for software pipelined multidimensional loops, ACM Transactions on Programming Languages and Systems, vol.30, issue.4, pp.154-167, 2005.
DOI : 10.1145/1377492.1377498

B. K. Rosen, M. N. Wegman, and F. K. Zadeck, Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '88, pp.12-27, 1988.
DOI : 10.1145/73560.73562

V. Sarkar and R. Barik, Extended Linear Scan: An Alternate Foundation for Global Register Allocation, Compiler Construction, pp.141-155, 2007.
DOI : 10.1007/978-3-540-71229-9_10

M. D. Smith, G. Ramsey, and . Holloway, A generalized algorithm for graph-coloring register allocation, PLDI '04: Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, pp.277-288, 2004.

V. C. Sreedhar, R. D. Ju, D. M. Gillies, and V. Santhanam, Translating Out of Static Single Assignment Form, Proceedings of the 6th international Symposium on Static Analysis, pp.194-210, 1999.
DOI : 10.1007/3-540-48294-6_13

S. Touati and C. Eisenbeis, Early Periodic Register Allocation on ILP Processors, Parallel Processing Letters, vol.14, issue.02, 2004.
DOI : 10.1142/S012962640400188X

URL : https://hal.archives-ouvertes.fr/hal-00130623

O. Traub, G. H. Holloway, and M. D. Smith, Quality and speed in linear-scan register allocation, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'98), pp.142-151, 1998.

S. R. Vegdahl, Using node merging to enhance graph coloring, Proceedings of the ACM SIGPLAN conference on Programming language design and implementation (PLDI'99), pp.150-154, 1999.

M. N. Wegman and F. K. Zadeck, Constant propagation with conditional branches, ACM Transactions on Programming Languages and Systems, vol.13, issue.2, pp.181-210, 1991.
DOI : 10.1145/103135.103136

C. Wimmer and H. Mössenböck, Optimized interval splitting in a linear scan register allocator, Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments , VEE '05, 2005.
DOI : 10.1145/1064979.1064998

M. Yannakakis, Node-and edge-deletion NP-complete problems, Proceedings of the tenth annual ACM symposium on Theory of computing , STOC '78, pp.253-264, 1978.
DOI : 10.1145/800133.804355

M. Yannakakis and F. Gavril, The maximum k-colorable subgraph problem for chordal graphs, Information Processing Letters, vol.24, issue.2, pp.133-137, 1987.
DOI : 10.1016/0020-0190(87)90107-4

A. P. Yershov, ALPHA---An Automatic Programming System of High Efficiency, Journal of the ACM, vol.13, issue.1, pp.17-24, 1966.
DOI : 10.1145/321312.321314