Concept-based optimization
Xiaolong Tang, Jaakko Järvi · 2007
Production compilers' optimizers typically operate at low abstraction levels, transformation rules enacting on operations on built-in types only. Transformations at higher levels of abstraction, on operations of types defined in libraries or by the user, are typically not supported. Such high-level optimizations could, however, yield greater benefits than first lowering the abstractions and subjecting the result to low-level transformations. Built-in compiler optimizations can in principle apply to user-defined types, if those types possess properties that guarantee that the optimizing transformations preserve the meaning of the program. The problem is conveying this information to the compiler in a non-disruptive manner.