[發(fā)明專利]函數(shù)的參數(shù)優(yōu)化方法、編譯器、芯片及電子設備在審
| 申請?zhí)枺?/td> | 201910487030.2 | 申請日: | 2019-06-05 |
| 公開(公告)號: | CN112052004A | 公開(公告)日: | 2020-12-08 |
| 發(fā)明(設計)人: | 曹嵐健;朱輝 | 申請(專利權)人: | 深圳市匯頂科技股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 上海晨皓知識產(chǎn)權代理事務所(普通合伙) 31260 | 代理人: | 成麗杰 |
| 地址: | 518045 廣東省深*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 函數(shù) 參數(shù) 優(yōu)化 方法 編譯器 芯片 電子設備 | ||
本申請涉及測試技術領域,提供了一種函數(shù)的參數(shù)優(yōu)化方法、編譯器、芯片及電子設備。函數(shù)的參數(shù)優(yōu)化方法,包括:將被調(diào)用函數(shù)的寄存器壓力余量、調(diào)用函數(shù)的寄存器壓力余量以及參數(shù)寄存器的余量中的最小值,作為被調(diào)用函數(shù)的寄存器余量;對于每個需要使用棧傳遞的聚合量參數(shù),根據(jù)聚合量參數(shù)的長度和寄存器余量,對聚合量參數(shù)進行優(yōu)化以得到優(yōu)化后的聚合物參數(shù),其中至少部分優(yōu)化后的聚合量參數(shù)為標量。本申請實施例的技術方案,盡可能的利用參數(shù)寄存器來傳遞被調(diào)用函數(shù)中需要使用棧來傳遞的聚合量參數(shù),能夠充分利用寄存器資源,優(yōu)化后的聚合量參數(shù)中的標量部分可以用參數(shù)寄存器傳遞,速度較快,提升了編譯后代碼的執(zhí)行效率。
技術領域
本申請涉及計算機技術領域,特別涉及一種函數(shù)的參數(shù)優(yōu)化方法、編譯器、芯片及電子設備。
背景技術
計算機系統(tǒng)程序的性能取決于兩個方面,一個是計算機硬件的性能,一個是運行在計算機硬件上的軟件自身的性能。軟件自身的性能則包括軟件的執(zhí)行效率以及軟件的代碼大小。編譯器則負責對軟件的執(zhí)行效率以及軟件的代碼大小進行優(yōu)化,以期望盡可能地提高編譯后的軟件的性能。
發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:按照現(xiàn)有的函數(shù)調(diào)用規(guī)范,編譯器在對軟件代碼進行優(yōu)化時,如果函數(shù)的參數(shù)的長度大于兩個參數(shù)寄存器長度,則直接使用棧對該參數(shù)進行傳遞,棧傳遞參數(shù)的速度較慢,影響軟件代碼的執(zhí)行效率。
發(fā)明內(nèi)容
本申請部分實施例的目的在于提供一種函數(shù)的參數(shù)優(yōu)化方法、編譯器、芯片及電子設備,盡可能的利用參數(shù)寄存器來傳遞被調(diào)用函數(shù)中需要使用棧傳遞的聚合量參數(shù),能夠充分利用寄存器資源;同時,相對于現(xiàn)有技術中用棧傳遞的聚合量參數(shù),本發(fā)明可以用參數(shù)寄存器傳遞優(yōu)化后的聚合量參數(shù)中的標量部分,速度較快,從而提升了編譯后代碼的執(zhí)行效率。
本申請實施例提供了一種函數(shù)的參數(shù)優(yōu)化方法,包括:對待編譯代碼中的被調(diào)用函數(shù)以及被調(diào)用函數(shù)的調(diào)用函數(shù)分別進行寄存器壓力評估,得到被調(diào)用函數(shù)的寄存器壓力余量以及調(diào)用函數(shù)的寄存器壓力余量;獲取用于傳遞被調(diào)用函數(shù)的聚合量參數(shù)的參數(shù)寄存器的余量;將被調(diào)用函數(shù)的寄存器壓力余量、調(diào)用函數(shù)的寄存器壓力余量以及參數(shù)寄存器的余量中的最小值,作為被調(diào)用函數(shù)的寄存器余量;對于每個需要使用棧傳遞的聚合量參數(shù),根據(jù)聚合量參數(shù)的長度和寄存器余量,對聚合量參數(shù)進行優(yōu)化以得到優(yōu)化后的聚合物參數(shù),其中至少部分優(yōu)化后的聚合量參數(shù)為標量。
本申請實施例還提供了一種編譯器,用于執(zhí)行上述的函數(shù)的參數(shù)優(yōu)化方法。
本申請實施例還提供了一種芯片,包括上述的編譯器。
本申請實施例還提供了一種電子設備,包括上述的芯片。
本申請實施例相對于現(xiàn)有技術而言,先對被調(diào)用函數(shù)與被調(diào)用函數(shù)的調(diào)用函數(shù)分別進行寄存器壓力評估,得到被調(diào)用函數(shù)與調(diào)用函數(shù)的寄存器壓力余量,再獲取被調(diào)用函數(shù)中用于傳遞聚合量參數(shù)的參數(shù)寄存器的余量,將被調(diào)用函數(shù)與調(diào)用函數(shù)的寄存器壓力余量與用于傳遞聚合量參數(shù)的參數(shù)寄存器的余量中的最小值作為被調(diào)用函數(shù)的寄存器余量,對于待編譯代碼中被調(diào)用函數(shù)的需要使用棧傳遞的聚合量參數(shù),根據(jù)該聚合量參數(shù)的長度與寄存器余量,對聚合量參數(shù)進行優(yōu)化,以得到優(yōu)化后的聚合量參數(shù),至少部分優(yōu)化后的聚合量參數(shù)為標量,標量部分可以直接用參數(shù)寄存器進行傳遞,即盡可能的利用參數(shù)寄存器來傳遞被調(diào)用函數(shù)中需要使用棧傳遞的聚合量參數(shù),能夠充分利用寄存器資源;同時,相對于現(xiàn)有技術中用棧傳遞聚合量參數(shù),本發(fā)明可以用參數(shù)寄存器傳遞優(yōu)化后的聚合量參數(shù)中的標量部分,速度較快,從而提升了編譯后代碼的執(zhí)行效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市匯頂科技股份有限公司,未經(jīng)深圳市匯頂科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910487030.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





