讨论了一种可针对程序中的不同函数(routine)采用不同的循环优化序列的方法,该方法基于polyhedron模型,使用简化cache失效率方程分别对每一个函数作优化序列评估,以迭代编译方式为每个函数寻找一个独特的循环优化序列。该方法降低了变换实施的复杂度,降低了对编译器具体实现的依赖;考虑程序中不同函数的差异以获得更好的优化效果。对SPEC2006的实验数据表明,经过定制优化之后,较之Open64-O3,加速比为1.05~1.13。
This paper presents a polyhedron model based approach for automated phase-ordering of loop optimizations for different routines in a program,which can determine a customized sequence to apply loop optimizations for each individual program.It employs a simplified cache miss equation to evaluate each routine's performance.It is of iterative compilation,and can decrease difficulty of transformation implementation,and decrease dependency on concrete compiler implementation.Experiments for SPEC2006 show that speedup is 1.05-1.13 compared with Open64-O3.