[發明專利]一種消除冗余的內存訪問操作的編譯優化方法有效
| 申請號: | 201410129958.0 | 申請日: | 2014-04-02 |
| 公開(公告)號: | CN103942082B | 公開(公告)日: | 2017-03-29 |
| 發明(設計)人: | 楊磊;王萍;肖東岳;韓峰;胡可 | 申請(專利權)人: | 南陽理工學院 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 鄭州紅元帥專利代理事務所(普通合伙)41117 | 代理人: | 秦舜生 |
| 地址: | 473000*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消除 冗余 內存 訪問 操作 編譯 優化 方法 | ||
1.一種消除冗余的內存訪問操作的編譯優化方法,該方法用于別名信息不精確且訪存采用Load/Store架構的系統中,其特征在于包括以下步驟:
⑴.以基本塊為單位對程序進行簡單的數據流分析,得到數據訪問的使用-定義鏈;
⑵.以基本塊為單位對指令鏈進行前向遍歷,如果檢測到內存加載Load指令,那么訪問使用-定義鏈找到它的定義指令,如果該指令和當前指令的訪存地址具有別名關系,那么進入步驟⑶;如果該指令和當前指令的訪存地址具有包含關系,那么進入步驟⑷;如果該指令和當前指令的訪存地址相同,那么進入步驟⑸;否則進入步驟⑹;?
⑶.記錄定義指令為op1,繼續訪問該指令的前繼定義指令op2,根據別名信息,分別比較三條指令的基址寄存器、偏移量寄存器內容關系,并將當前的加載指令轉換為相應形式的拷貝指令,然后進入步驟⑹;
⑷.如果前繼定義指令為內存存儲Store指令,將加載指令轉化為相應的比特提取指令,然后進入步驟⑹;
⑸.刪除加載指令,并插入拷貝指令,然后進入步驟⑹;
⑹.執行步驟⑵,直到程序所有的基本塊處理完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南陽理工學院,未經南陽理工學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410129958.0/1.html,轉載請聲明來源鉆瓜專利網。





