Portable compiler optimisation across embedded programs and microarchitectures using machine learning
Christophe Dubach, Timothy M. Jones, Edwin V. Bonilla, Grigori Fursin, Michael O’Boyle · 2009
Building an optimising compiler is a difficult and time consuming task which must be repeated for each generation of a microprocessor. As the underlying microarchitecture changes from one generation to the next, the compiler must be retuned to optimise specifically for that new system. It may take several releases of the compiler to effectively exploit a processor's performance potential, by which time a new generation has appeared and the process starts again.