Static analysis for the Flambda 2 optimiser

In this talk, we will present an overview of the abstract domains that drive the Flambda 2 optimizer for In this talk, we will present an overview of the abstract domains that drive the Flambda 2 optimizer for OCaml programs.

Like most optimizing compilers, Flambda 2 relies on static analysis to find optimization opportunities. There are actually several different analyses that are performed; here we will focus on a forward value analysis that we call Flambda 2 Types. Despite its name, it fits the definition of an abstract domain quite well (in the sense of abstract interpretation), and it is through this angle that we will introduce it.