[发明专利]自适应内建函数与指令操作选择翻译方法有效
申请号: | 201910897633.X | 申请日: | 2019-09-23 |
公开(公告)号: | CN112540750B | 公开(公告)日: | 2022-11-15 |
发明(设计)人: | 王飞;沈莉;周文浩;吴伟;钱宏;罗有才 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/30 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 自适应 函数 指令 操作 选择 翻译 方法 | ||
本发明公开一种自适应内建函数与指令操作选择翻译方法,基于编译器实现,包括以下步骤:S1、编译器使用最高优化等级编译该内建函数,当汇编指令少于或等于3条时,将SDNode一对一的降级为汇编指令;S2、当汇编指令大于3条时,判断该内建函数预设的使用频率,若使用频率不高,则以内建函数可拆分的伪指令节点和定义的虚拟寄存器为参数,通过BuildMI函数将内建函数降级为汇编指令;S3、若使用频率较高,则以内建函数的输入和输出作为源寄存器和目的寄存器,使用BuildMI函数创建一条伪指令,使用BuildMI函数扩展上述伪指令,并将扩展后的伪指令降级为汇编指令。本发明可以根据内建函数实现的复杂度选择内建函数节点降级的途径,以使程序的编译运行达到最优化的效果。
技术领域
本发明涉及一种自适应内建函数与指令操作选择翻译方法,属于计算机技术领域。
背景技术
内建函数是用于在编译阶段进行替换的机器指令块,可以起到性能优化的作用。因为执行这些函数调用会在编译时变为直接指令块的执行,而不会产生指令跳转、堆栈等相关操作而引起的函数调用开销,例如有一些函数直接就有一条对应的机器指令来实现,如果改用普通函数调用势必性能大打折扣。
在进行编译器向量模块支持的开发过程中,其中大部分接口的实现都是通过内建函数的形式来完成的,这样就避免了因指令跳转、堆栈等相关操作而引起的函数调用开销,这样有利于减少程序的编译运行时间,便于进行程序的优化,可以起到性能优化的作用。而内建函数降级成与目标相关的代码与常规操作逐步降级转化为目标相关代码过程不同。内建函数是直接从前端发射到后端的,然后在后端进行指令的降级选择匹配操作。
内建函数的节点降低为机器指令的过程,实际上就是一个节点拆分为多个指令相关节点,然后与机器指令匹配的过程。当前内建函数节点降级转为机器指令的过程主要是通过转化为机器指令节点,然后通过指令匹配完成到机器指令的转换,该方法对于一条内建函数要转换为多条机器指令的情况来说,不是很容易实现的,当需要替换的机器指令节点很多时,构建节点之间的关系就会显得很复杂,不易实现,而且容易出错。因此,如何实现将一条内建函数要转换为多条机器指令,成为本领域技术人员努力的方向。
发明内容
本发明的目的是提供一种自适应内建函数与指令操作选择翻译方法,该自适应内建函数与指令操作选择翻译方法在实现内建函数降级时可以根据内建函数实现的复杂度选择内建函数节点降级的途径,能减少开发的时间,以使程序的编译运行达到最优化的效果,降低编译器开发的难度。
为达到上述目的,本发明采用的技术方案是:一种自适应内建函数与指令操作选择翻译方法,基于编译器实现,包括以下步骤:
S1、当需要将某一内建函数转换为汇编指令时,编译器使用最高优化等级编译该内建函数,由此确定该内建函数所需转换的汇编指令,当汇编指令少于或等于3条时,将该内建函数节点拆分为与汇编指令相对应的伪指令节点,这些伪指令节点在后端描述中与汇编指令一一对应,可使用上述伪指令节点创建SDNode,并将SDNode一对一的降级为汇编指令,具体步骤如下:
S11、编译器使用最高优化等级编译需要转换为汇编指令的内建函数,生成对应的汇编指令,并由此确定要实现该内建函数需要的汇编指令;
S12、在后端描述中寻找表示步骤S11中生成汇编指令的伪指令节点,若没有找到,则按照LLVM后端对汇编指令描述的语法规则,定义新的伪指令节点,以描述S11中生成的汇编指令;
S13、当步骤S11中需要的汇编指令少于或等于3条时,参照步骤S11中汇编指令之间的指令顺序和寄存器关系,使用步骤S12中定义的伪指令节点创建SDNode,并将SDNode一对一的降级为汇编指令;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910897633.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:条件转移预测方向变换的编译优化方法
- 下一篇:电池托杯分离机构