面向C2VHDL编译器的基本块级指针分析算法  被引量:2

Basic block-level pointer analysis algorithm for C2VHDL compiler

在线阅读下载全文

作  者:郭振华[1] 吴艳霞[1] 张国印[1] 杨杰[1] 顾国昌[1] 

机构地区:[1]哈尔滨工程大学计算机科学与技术学院,哈尔滨150001

出  处:《吉林大学学报(工学版)》2013年第2期417-423,共7页Journal of Jilin University:Engineering and Technology Edition

基  金:国家自然科学基金项目(61003036);黑龙江省自然科学基金项目(QC2010049);黑龙江省教育厅基金项目;中央高校基本科研业务费专项项目(HEUCF100606)

摘  要:针对现有的C2VHDL编译器中指针编译技术所存在的缺陷,通过对传统指针分析算法进行研究,在基于低级虚似机(LLVM)面向CPU-FPGA应用的可重构编译器ASCRA架构上,设计并实现了一种以基本块为分析粒度的基于控制流图的流敏感上下文敏感指针分析算法。在可重构编译器ASCRA生成硬件VHDL程序时提供指针访存控制辅助信息。实验结果表明:在保证C2VHDL结果正确的前提下,该算法在简化了分析过程的同时,能够达到与流敏感指针分析相同的精度。与指针还原技术相比,该算法能够支持更多的指针数据类型。采用该算法的编译器ASCRA生成的硬件程序在硬件资源占用情况和运行速度两方面与指针还原技术相比都能够达到相同的硬件效果。To overcome the shortcoming of existing C2VHDL compiler dealing with pointer, based on the investigation of traditional algorithm, a block-based pointer analysis algorithm was designed and realized in the ASCRA compiler, which is developed for the application of CPU-FPGA based on LLVM. Experiment results show that this algorithm can simplify the pointer analysis process, meanwhile, achieve the same precision as the flow sensitive pointer algorithm. This algorithm also can support more pointer data types than pointer reduction technology. The VHDL programs generated by ASCRA using this algorithm can achieve the same resource consumption and processing speed as the pointer reduction technology.

关 键 词:计算机系统结构 可重构编译 指针分析算法 低级虚拟机 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象