A. V. Aho, R. Sethi, and J. D. Ullman, Compilers principles, techniques, and tools, 1986.

F. E. Allen, Control flow analysis, Proceedings of a Symposium on Compiler Optimization, pp.1-19, 1970.

A. W. Appel, Modern Compiler Implementation in ML, 2004.
DOI : 10.1017/CBO9780511811449

G. Barthe, D. Demange, and D. Pichardie, Formal Verification of an SSA-Based Middle-End for CompCert, ACM Transactions on Programming Languages and Systems, vol.36, issue.1, pp.1-35, 2014.
DOI : 10.1007/s10817-007-9096-8

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

Y. Bertot, B. Grégoire, and X. Leroy, A Structured Approach to Proving Compiler Optimizations Based on Dataflow Analysis, Types for Proofs and Programs, pp.66-81, 2004.
DOI : 10.1007/11617990_5

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

S. Blazy, D. Demange, and D. Pichardie, Validating Dominator Trees for a Fast, Verified Dominance Test, Proc. of ITP'15, 2015.
DOI : 10.1007/978-3-319-22102-1_6

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

J. O. Blech, L. Gesellensetter, and S. Glesner, Formal verification of dead code elimination in Isabelle/HOL, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05), pp.200-209, 2005.
DOI : 10.1109/SEFM.2005.20

J. O. Blech, S. Glesner, J. Leitner, and S. Mülling, Optimizing Code Generation from SSA Form: A Comparison Between Two Formal Correctness Proofs in Isabelle/HOL, Proc. of COCV'05, pp.33-51, 2005.
DOI : 10.1016/j.entcs.2005.02.042

B. Boissinot, A. Darte, F. Rastello, B. Dupont-de-dinechin, and C. Guillon, Revisiting Out-of-SSA Translation for Correctness, Code Quality and Efficiency, 2009 International Symposium on Code Generation and Optimization, pp.114-125, 2009.
DOI : 10.1109/CGO.2009.19

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

B. Boissinot, S. Hack, D. Grund, and B. , Dupont de Dine hin, and F. Rastello. Fast liveness checking for SSA-form programs, Proc. of CGO'08, pp.35-44, 2008.

F. Bouchez, A. Darte, C. Guillon, and F. Rastello, Register allocation and spill complexity under ssa, 2005.
URL : https://hal.archives-ouvertes.fr/hal-02102197

M. Braun, S. Buchwald, S. Hack, R. Leißa, C. Mallon et al., Simple and Efficient Construction of Static Single Assignment Form, Proc. of CC'13, pp.102-122, 2013.
DOI : 10.1007/978-3-642-37051-9_6

M. Braun, S. Buchwald, and A. Zwinkau, Firm?a graph-based intermediate representation, 2011.

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, vol.28, issue.8, pp.859-881, 1998.
DOI : 10.1002/(SICI)1097-024X(19980710)28:8<859::AID-SPE188>3.0.CO;2-8

P. Briggs, K. D. Cooper, and L. T. Simpson, Value numbering. SPE, pp.701-724, 1997.

S. Buchwald, D. Lohner, and S. Ullrich, Verified construction of static single assignment form, Proceedings of the 25th International Conference on Compiler Construction, CC 2016, pp.67-76, 2016.
DOI : 10.1145/2491956.2462164

. Cakeml, A verified implementation of ML, 2012.

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

C. Click, Global code motion / global value numbering, Proc. of PLDI'95, pp.246-257, 1995.
DOI : 10.1145/207110.207154

C. Click and K. D. Cooper, Combining analyses, combining optimizations, ACM Transactions on Programming Languages and Systems, vol.17, issue.2, pp.181-196, 1995.
DOI : 10.1145/201059.201061

URL : https://scholarship.rice.edu/bitstream/1911/16807/1/9610626.PDF

C. Click and M. Paleczny, A simple graph-based intermediate representation, Proc. of IR'95, pp.35-49, 1995.
DOI : 10.1145/202530.202534

. Companion-web-page, , 2012.

K. Cooper, T. Harvey, and K. Kennedy, A fast, simple dominance algorithm, 2006.

, Site de l'assistant de preuve Coq, 1999.

R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck, Efficiently computing static single assignment form and the control dependence graph, Fernandez de Retana. Mechanizing Conventional SSA for a Verified Destruction with Coalescing Proc. of CC'16, CC 2016, pp.451-490, 1991.
DOI : 10.1145/115372.115320

URL : http://grothoff.org/christian/teaching/2007/3353/papers/ssa.pdf

D. Demange, Y. Fernandez-de-retana, and D. Pichardie, Semantic reasoning about the sea of nodes, Proceedings of the 27th International Conference on Compiler Construction , CC 2018, 2018.
DOI : 10.1145/3178372.3179503

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

D. Demange, L. Stefanesco, and D. Pichardie, Verifying Fast and Sparse SSA-Based Optimizations in Coq, Proc. of CC'15, pp.233-252, 2015.
DOI : 10.1007/978-3-662-46663-6_12

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

G. Duboscq, T. Würthinger, L. Stadler, C. Wimmer, D. Simon et al., An intermediate representation for speculative optimizations in a dynamic compiler, Proceedings of the 7th ACM workshop on Virtual machines and intermediate languages, VMIL '13, pp.1-10, 2013.
DOI : 10.1145/2542142.2542143

B. Dupont-de-dinechin, Using the SSA-Form in a Code Generator, Proc. of CC'14, pp.1-17, 2014.
DOI : 10.1007/978-3-642-54807-9_1

N. E. Johnson, Code size optimization for embedded processors, 2004.

J. Ferrante, K. J. Ottenstein, and J. D. Warren, The program dependence graph and its use in optimization, ACM Trans. Program. Lang. Syst, pp.319-349, 1987.

S. Hack, D. Grund, and G. Goos, Register Allocation for Programs in SSA-Form, Proc. of CC'06, pp.247-262, 2006.
DOI : 10.1007/11575467_21

URL : https://link.springer.com/content/pdf/10.1007%2F11688839_20.pdf

P. Havlak, Construction of thinned gated single-assignment form, Languages and Compilers for Parallel Computing, pp.477-499, 1994.
DOI : 10.1007/3-540-57659-2_28

J. L. Hennessy and T. Gross, Postpass Code Optimization of Pipeline Constraints, ACM Transactions on Programming Languages and Systems, vol.5, issue.3, pp.422-448, 1983.
DOI : 10.1145/2166.357217

, Hol interactive theorem prover, 2012. https :// hol-theorem-prover.org

, Site de l'assistant de preuve Isabelle, 1986.

N. Johnson and A. Mycroft, Combined Code Motion and Register Allocation Using the Value State Dependence Graph, Proc. of CC'03, CC 2003, pp.1-16, 2003.
DOI : 10.1007/3-540-36579-6_1

URL : https://link.springer.com/content/pdf/10.1007%2F3-540-36579-6_1.pdf

M. Kawahito, H. Komatsu, and T. Nakatani, Effective null pointer check elimination utilizing hardware trap, Proc. of ASPLOS'00, pp.139-149, 2000.
DOI : 10.1145/378995.379234

R. A. Kelsey, A correspondence between continuation passing style and static single assignment form, Papers from the 1995 ACM SIGPLAN Workshop on Intermediate Representations, pp.13-22, 1995.
DOI : 10.1145/202529.202532

G. A. , A unified approach to global program optimization, Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages , POPL '73, pp.194-206, 1973.
DOI : 10.1145/512927.512945

K. Knobe and V. Sarkar, Array SSA form and its use in parallelization, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '98, pp.107-120, 1998.
DOI : 10.1145/268946.268956

R. Leissa, M. Köster, and S. Hack, A graph-based higher-order intermediate representation, 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp.202-212, 2015.
DOI : 10.1109/CGO.2015.7054200

T. Lengauer and R. E. Tarjan, A fast algorithm for finding dominators in a flowgraph, ACM Transactions on Programming Languages and Systems, vol.1, issue.1, pp.121-141, 1979.
DOI : 10.1145/357062.357071

X. Leroy, A formally verified compiler back-end. JAR, pp.363-446, 2009.
DOI : 10.1007/s10817-009-9155-4

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

W. M. Mckeeman, Peephole optimization, Communications of the ACM, vol.8, issue.7, pp.443-444, 1965.
DOI : 10.1145/364995.365000

E. Mullen, D. Zuniga, Z. Tatlock, and D. Grossman, Verified peephole optimizations for compcert, Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '16, pp.448-461, 2016.
DOI : 10.1145/2908080.2908109

G. C. Necula, Proof-carrying code, Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '97, pp.106-119, 1997.
DOI : 10.1145/263699.263712

G. C. Necula, Translation validation for an optimizing compiler, Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, PLDI '00, pp.83-94, 2000.
DOI : 10.1145/349299.349314

F. Nielson, H. R. Nielson, and C. Hankin, Principles of Program Analysis, 1999.
DOI : 10.1007/978-3-662-03811-6

, Go nilcheck elimination source code, 2017. https

M. Paleczny, C. Vick, and C. Click, The java hotspottm server compiler, go1.9/src Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium, pp.1-1, 2001.

A. Pnueli, M. Siegel, and E. Singerman, Translation validation, Tools and Algorithms for the Construction and Analysis of Systems, pp.151-166, 1998.
DOI : 10.1007/BFb0054170

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

S. Rideau and X. Leroy, Validating Register Allocation and Spilling, Compiler Construction, pp.224-243, 2010.
DOI : 10.1007/978-3-642-11970-5_13

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

J. Rosemann, S. Schneider, and S. Hack, Verified Spilling and Translation Validation with??Repair, Interactive Theorem Proving, pp.427-443, 2017.
DOI : 10.1145/2951913.2951924

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

S. Schneider, G. Smolka, and S. Hack, A Linear First-Order Functional Intermediate Language for Verified Compilers, Interactive Theorem Proving, pp.344-358, 2015.
DOI : 10.1007/978-3-319-22102-1_23

URL : http://arxiv.org/pdf/1503.08665

J. Singer, Static program analysis based on virtual register renaming, 2006.

, Raisonnement sémantique sur sea of nodes, 2018.

V. C. Sreedhar, R. Ju, D. M. Gillies, and V. Santhanam, Translating Out of Static Single Assignment Form, Proc. of SAS'99, pp.194-210, 1999.
DOI : 10.1007/3-540-48294-6_13

Y. K. Tan, M. O. Myreen, R. Kumar, A. Fox, S. Owens et al., A new verified compiler backend for cakeml, Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming, ICFP 2016, pp.60-73, 2016.
DOI : 10.1145/2951913.2951924

URL : http://kar.kent.ac.uk/55687/7/paper.pdf

, Homepage of the Go project, 2012. https ://golang.org

, Homepage of the LLVM project, 2003.

, Static single assignment book, 2015.

J. Tristan and X. Leroy, Formal verification of translation validators : A case study on instruction scheduling optimizations, Proceedings of the 35th ACM Symposium on Principles of Programming Languages (POPL'08), pp.17-27, 2008.
URL : https://hal.archives-ouvertes.fr/inria-00289540

J. B. Tristan, P. Govereau, and G. Morrisett, Evaluating value-graph translation validation for LLVM, Proc. of PLDI'11, pp.295-305, 2011.
DOI : 10.1145/2345156.1993533

URL : https://dash.harvard.edu/bitstream/1/4762396/1/pldi84-tristan.pdf

J. B. Tristan and X. Leroy, Verified validation of lazy code motion, Proc. of PLDI'09, pp.316-326, 2009.
DOI : 10.1145/1543135.1542512

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

M. N. Wegman and F. K. Zadeck, Constant propagation with conditional branches, 1991.
DOI : 10.1145/318593.318659

URL : http://www.cs.wustl.edu/~cytron/cse531/Resources/Papers/cprop.pdf

X. Yang, Y. Chen, E. Eide, and J. Regehr, Finding and understanding bugs in C compilers, Proceedings of the 32Nd ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI '11, pp.283-294, 2011.

J. Zhao, Formalizing an SSA-based compiler for verified advanced program transformations, 2013.
DOI : 10.1145/2103656.2103709

URL : http://www.cis.upenn.edu/%7Estevez/papers/ZNMZ12.pdf

J. Zhao, S. Nagarakatte, M. Martin, and S. Zdancewic, Formal verification of SSA-based optimizations for LLVM, Proc. of PLDI'13, pp.175-186, 2013.

J. Zhao, S. Zdancewic, S. Nagarakatte, and M. Martin, Formalizing the LLVM intermediate representation for verified program transformation, Proc. of POPL'12, pp.427-440, 2012.