选项 -fprefetch-loop-arrays
说明
对预取距离的计算算法进行改进,增加了分支加权的预取距离算法,可根据循环中的分支概率进行加权的计算执行时间并计算更准确的预取距离。
可结合PGO/AutoFDO的反馈优化对CFG的分支概率进行修正,来提高预取计算的准确性,同时也支持传入cache misses的profile进行解析并用于场景和访存对象的筛选。
使用方法
-fprefetch-loop-arrays=0:原始预取算法(无赋值,默认为0);
-fprefetch-loop-arrays=1:简化分支的预取距离算法;
-fprefetch-loop-arrays=2:分支加权的预取距离算法;
-fprefetch-loop-arrays=[value] -fauto-profile=xxx.gcov -fcache-misses-profile=xxx.gcov:反馈式软件预取;
可配置参数:
--param param-prefetch-func-topn=n:筛选前n个热点函数,默认值:3
--param param-prefetch-ref-topn=n:筛选前n个热点访存对象,默认值:5
--param param-high-loop-execution-rate=n:筛选执行率高于n%的循环,默认值:95%
父主题: 静态编译优化