鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

特性说明

该优化通过插桩方式收集程序运行时信息(profile)以支持优化决策,编译器利用这些运行时信息指导各类编译优化,从而生成更高效的目标程序。

该优化主要包括两种优化方式:

  • Edge Profile:在函数CFG(Control Flow Graph)的边上插入计数器,获取程序的运行计数信息。
  • Value Profile:由于编译器的优化需要了解某些表达式或变量的取值情况,该优化在插桩过程中插入代码,用于统计这些表达式或变量在运行时的常见取值。程序运行后,生成的 profile文件会被读回编译器,以指导其做出更优的优化决策。目前,GCC支持多种value profile计数功能包括变量常用取值、数值是否为 2 的幂次、高频间接调用地址、函数首次运行编号等