Renucci, Allan Vincent RogerPetrashko, DmytroOdersky, Martin2016-10-182016-10-182016-10-182015https://infoscience.epfl.ch/handle/20.500.14299/129792Common subexpression elimination is a well-known compiler optimisa- tion that improves running time of compiled applications by avoiding the repetition of the same computation. Although it has been implemented on a low level such as bytecode, it misses multiple opportunities that are available on high level, such as optimizing lazy vals. We developed and implemented the transformation for Scala in a new mini-phase in the Dotty Compiler.Common Subexpression Elimination in Dottytext::report