---------------------------------------------------------- Metrics-based Phase Ordering in Optimizing Compilers Dr. Christian W. Probst The success of optimizing compilers mainly is based on the number of optimizations and their effects that the compilers can apply to an input program. Much previous work has been done on the development of new and clever analyses and optimizations. However, in almost all available compilers the order in which analyses and optimizations are applied to an input program is fixed. Often the user can pick one of several optimization levels, each of which represents a certain sequence of compiler phases. However, these orderings are determined once by the compiler writer and are hard coded in the compiler. In this talk I will introduce the notion of a metric on an analysis/ optimization pair. Metrics can be used to rank the available phases based on the input program. The ranking basically determines which phases have a chance for a high impact, that is are supposed to be benifical with respect to the result of the compilation. In order to allow an efficient compilation, there are two properties metrics should or must have. First, they must be easily computable, preferably in linear time. Second, they should allow an online re-computation based on transformations applied to the intermediate representation, in order to avert the continuous re-computation of the metrics result after each change to the IR. -------------------------------------------------------------------