[发明专利]函数的参数优化方法、编译器、芯片及电子设备在审
申请号: | 201910487030.2 | 申请日: | 2019-06-05 |
公开(公告)号: | CN112052004A | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 曹岚健;朱辉 | 申请(专利权)人: | 深圳市汇顶科技股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海晨皓知识产权代理事务所(普通合伙) 31260 | 代理人: | 成丽杰 |
地址: | 518045 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数 参数 优化 方法 编译器 芯片 电子设备 | ||
1.一种函数的参数优化方法,其特征在于,包括:
对待编译代码中的被调用函数以及所述被调用函数的调用函数分别进行寄存器压力评估,得到所述被调用函数的寄存器压力余量以及所述调用函数的寄存器压力余量;
获取用于传递所述被调用函数的聚合量参数的参数寄存器的余量;
将所述被调用函数的寄存器压力余量、所述调用函数的寄存器压力余量以及所述参数寄存器的余量中的最小值,作为所述被调用函数的寄存器余量;
对于每个需要使用栈传递的所述聚合量参数,根据所述聚合量参数的长度和所述寄存器余量,对所述聚合量参数进行优化以得到优化后的聚合物参数,其中至少部分所述优化后的聚合量参数为标量。
2.如权利要求1所述的函数的参数优化方法,其特征在于,所述对待编译代码中被调用函数以及所述被调用函数的调用函数分别进行寄存器压力评估,得到所述被调用函数以及所述调用函数的寄存器压力余量,包括:
对于每个函数,获取保存所述函数中的数据需要消耗寄存器的数量,所述数据包括所述函数的变量、所述函数的目标参数与所述函数的返回值;其中所述函数为所述被调用函数或所述调用函数,所述目标参数为所述函数中需要使用所述参数寄存器传递的参数;
根据保存所述数据需要消耗寄存器的数量,得到所述函数的寄存器压力余量。
3.如权利要求2所述的函数的参数优化方法,其特征在于,所述变量包括所述函数中的静态单赋值形式变量与所述函数中的局部变量。
4.如权利要求3所述的函数的参数优化方法,其特征在于,所述变量包括所述静态单赋值形式变量中去除保存到栈的所述静态单赋值形式变量后剩余的部分与所述目标局部变量中去除保存到栈的所述目标局部变量后剩余的部分。
5.如权利要求2所述的函数的参数优化方法,其特征在于,所述根据保存所述数据需要消耗寄存器的数量,得到所述函数的寄存器压力余量,具体为:
将保存所述数据需要消耗寄存器的数量代入公式K=S+A+T–N,计算所述函数的寄存器压力余量;
其中,K表示所述函数的寄存器压力余量,S表示所述被调用函数保存的寄存器的数量,A表示所述参数寄存器的数量,T表示临时寄存器的数量,N表示保存所述数据需要消耗寄存器的数量。
6.如权利要求1所述的函数的参数优化方法,其特征在于,所述聚合量参数包括多个分量;所述根据所述聚合量参数的长度和所述寄存器余量,对所述聚合量参数进行优化,包括:
判断所述聚合量参数的长度除以所述参数寄存器长度的商值是否小于或等于所述寄存器余量;
若所述聚合量参数的长度除以所述参数寄存器长度的商值小于或等于所述寄存器余量,将所述聚合量参数替换为所述多个分量对应的多个标量,并根据所述商值,更新所述寄存器余量;
若所述聚合量参数的长度除以所述参数寄存器长度的商值大于所述寄存器余量,将所述聚合量参数替换为预设数量的所述分量对应的标量与新聚合量参数的组合;所述预设数量小于或等于所述寄存器余量,所述新聚合量参数由所述聚合量参数去除所述预设数量的所述分量后得到。
7.如权利要求1所述的函数的参数优化方法,其特征在于,所述被调用函数为局部函数。
8.如权利要求1所述的函数的参数优化方法,其特征在于,在所述根据所述聚合量参数的长度和所述寄存器余量,对所述聚合量参数进行优化之后,还包括:
根据被优化所述聚合量参数后的所述被调用函数,修改所述待编译代码中所述调用函数对所述被调用函数的调用方式。
9.如权利要求1所述的函数的参数优化方法,其特征在于,所述标量使用所述参数寄存器传递。
10.一种编译器,其特征在于,用于执行权利要求1至9中任一项所述的函数的参数优化方法。
11.一种芯片,其特征在于,包括权利要求10所述的编译器。
12.一种电子设备,其特征在于,包括权利要求11所述的芯片。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市汇顶科技股份有限公司,未经深圳市汇顶科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910487030.2/1.html,转载请声明来源钻瓜专利网。