Before revision:  A code generation approach enables a simultaneously flexible and specialized implementation with autotuning.
After revision:  To ensure flexibility and allow for highly tailored implementations we use code generation combined with autotuning.