计算机工程与应用 ›› 2012, Vol. 48 ›› Issue (29): 8-12.
牛晓霞,吴艳霞,顾国昌,张博为,李静梅
NIU Xiaoxia, WU Yanxia, GU Guochang, ZHANG Bowei, LI Jingmei
摘要: 应用程序中循环部分往往是计算密集型应用的主要工作负载,随着基于FPGA的可重构计算系统的出现,循环的静态分析技术已不能满足可重构计算系统根据程序当前行为模式进行特定优化的要求。针对现有的程序动态分析技术无法直接获取循环动态信息的问题,提出一种循环信息分析算法,根据支配关系在控制流图中识别循环,通过edge profiling的结果分析计算得到循环调用次数、循环平均迭代次数及循环运行时间等关键信息,并在LLVM(Low Level Virtual Machine)平台上实现该算法。实验结果表明,该算法能够自动识别所有循环结构,并对循环部分进行精确分析,分析结果能够为可重构计算系统待加速计算密集型循环的选择提供较全面、精确的信息支持,对程序员进行可重构系统中软硬件划分技术的研究具有重要作用。