A LLVM Extension for the Generation of Low Overhead Runtime Program Specializer
Victor Lomüller, Henri‐Pierre Charles · 2014
Program specialization is a common way to improve program performance. From a generic implementation of an algorithm, a derived implementation is generated by fixing some inputs. Many tools and languages enable this optimization at compile time, like C++, or at run-time, like Tempo. However, most of those tools are tied to a language (mostly C) and extensions made to it. In the case of runtime specializers, most of them manipulate an intermediate representation during code generation, that can lead to a waste of resources.