WCC编译器框架:WCET分析与静态循环分析
1. WCC框架对WCET分析的优势
WCC框架在最坏情况执行时间(WCET)分析中为用户带来了诸多便利。它将定时分析器封装其中,使得用户无需手动完成一系列繁琐步骤。原本用户需要运行编译器生成二进制文件、设置WCET分析器的配置参数,最后手动调用分析,而现在WCC会在后台自动完成这些操作,减轻了用户为aiT手动配置合适运行时环境的负担。
此外,编译器对代码有深入了解,能够自动利用这些信息来计算可提高WCET分析精度的数据。例如,定时分析器可以获取不可行路径或静态已知寄存器值等信息,而这些信息手动计算通常很困难,若要将其传递给aiT,还需要通过文件接口进行繁琐且易出错的指定。
2. 最坏情况执行数据的导入
将定时分析器集成到编译器的最后一步是将aiT计算出的最坏情况定时数据导入到后端。具体操作是遍历表示程序控制流图(CFG)并丰富了WCET数据的最终CRL2文件,利用定义3.1中的转换函数,建立两个中间表示(IR)基本块之间的映射,从而实现WCET数据的交换。导入的数据以LLIR目标的形式附加到相应的LLIR块中,函数的WCET数据交换也是类似的方式。导入后,LLIR中会提供以下信息(考虑所有执行上下文):
- 整个程序、每个函数和每个基本块的最坏情况执行时间
- 每个基本块和CFG边的最坏情况执行频率
- 每个函数的最坏情况调用频率
- CFG边的执行可行性
- 寄存器值的安全近似
- 每个基本块计算出的I缓存缺失次数
3. 流事实的建模
为了使静态WCET分析可行,必须获取每条指令执行次数的足够信息。虽然有
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



