基于LLVM的RISC-V向量扩展栈帧布局优化 |
| |
作者姓名: | 陆旭凡 胡海根 邢明杰 |
| |
作者单位: | 中国科学院软件研究所,北京100190;浙江工业大学计算机科学与技术学院,杭州310012;浙江工业大学计算机科学与技术学院,杭州310012;中国科学院软件研究所,北京100190 |
| |
基金项目: | 中国科学院战略性先导科技专项(C类)(XDC05040200) |
| |
摘 要: | 为了能够生成正确、优化的机器指令代码,需要在编译器后端代码的生成阶段,设计和使用合适的程序栈帧布局.由于RISC-V向量扩展架构具有可伸缩性、其向量寄存器的长度在编译时不可知,传统的栈帧布局无法适用.之前LLVM中针对向量扩展实现的栈帧布局虽然能够生成正确的机器指令,但存在访存指令较多,栈帧空间较大,以及预留寄存器较多等问题.我们对原有实现所存在的问题进行分析,在此基础上提出了新的布局方式以及向量对象地址计算方式,并通过巴塞罗那超算中心开发的测试集进行验证.实验表明新的栈帧布局能够有效减少访存指令数和栈空间大小.
|
关 键 词: | LLVM RISC-V 向量扩展 栈帧布局 |
收稿时间: | 2021-04-28 |
修稿时间: | 2021-05-21 |
本文献已被 万方数据 等数据库收录! |
| 点击此处可从《计算机系统应用》浏览原始摘要信息 |
|
点击此处可从《计算机系统应用》下载免费的PDF全文 |
|