欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向bswap指令的窺孔優(yōu)化方法

文檔序號:6548149閱讀:578來源:國知局
一種面向bswap指令的窺孔優(yōu)化方法
【專利摘要】本發(fā)明提出了一種面向BSWAP指令的窺孔優(yōu)化方法,其使在代碼生成階段,通過分析BSWAP指令操作數(shù)的特殊性,判斷該條BSWAP指令是否冗余,通過分析Load/Store指令的位置特點(diǎn),判斷相應(yīng)的BSWAP指令是否冗余;對于冗余的BSWAP指令,設(shè)置刪除標(biāo)記位,同時(shí)對配對的BSWAP指令也設(shè)置相應(yīng)的刪除標(biāo)記位。本發(fā)明通過刪除冗余的BSWAP指令,大大提升了程序的執(zhí)行效率,使程序的性能得到增強(qiáng)。
【專利說明】 —種面向BSWAP指令的窺孔優(yōu)化方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,具體涉及一種面向BSWAP指令的窺孔優(yōu)化方法。

【背景技術(shù)】
[0002]程序數(shù)據(jù)在內(nèi)存中的對齊方式和在寄存器中的對齊方式會存在不一致的情況,BSffAP指令被設(shè)計(jì)用來調(diào)整數(shù)據(jù)的字節(jié)對齊方式,從而保證程序數(shù)據(jù)的一致性,保障程序的正確運(yùn)行。
[0003]BSWAP指令由編譯器在代碼生成階段插入。當(dāng)檢測到一個(gè)內(nèi)存訪問指令時(shí),編譯器會在該條指令的前后分別插入兩條BSWAP指令。然而編譯器往往忽略了程序數(shù)據(jù)和內(nèi)存訪問指令所具有的特點(diǎn),導(dǎo)致插入的BSWAP存在很大的冗余性,這會導(dǎo)致程序執(zhí)行時(shí)間延長,嚴(yán)重影響程序性能。


【發(fā)明內(nèi)容】

[0004]本發(fā)明所要解決的技術(shù)問題是如何消除編譯器插入的冗余BSWAP指令,縮短程序執(zhí)行時(shí)間,提聞程序性能。
[0005]為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種面向BSWAP指令的窺孔優(yōu)化方法,該方法用于寄存器數(shù)據(jù)的字節(jié)對齊方式和內(nèi)存數(shù)據(jù)的字節(jié)對齊方式不一致的系統(tǒng)中,是能夠消除多余BSWAP指令的優(yōu)化方法,所述的優(yōu)化方法包含以下步驟:
⑴.對程序進(jìn)行數(shù)據(jù)流分析,得到數(shù)據(jù)訪問使用-定義鏈;
(2).頭遍進(jìn)行前向遍歷,訪問程序指令鏈:如果檢測到內(nèi)存存儲指令,那么根據(jù)使用-定義鏈找到BSWAP的定義指令;如果該指令為數(shù)據(jù)初始化指令,那么進(jìn)入步驟⑶;否貝U,如果該指令為內(nèi)存加載指令,那么進(jìn)入步驟⑷;否則進(jìn)入步驟(5);
(3).如果初始化數(shù)據(jù)具有內(nèi)存對稱性,而且BSWAP指令沒有多余的使用,那么該條BSffAP指令是多余的,標(biāo)記BSWAP為可刪除;
⑷.內(nèi)存存儲指令和內(nèi)存加載指令之間的使用-定義鏈包含至少兩條BSWAP指令,如果這兩條BSWAP指令沒有多余使用,那么標(biāo)記BSWAP指令為可刪除;
(5).遍歷下一條指令,重復(fù)步驟⑵-⑷直到該基本塊的所有指令都遍歷完畢,進(jìn)入步驟
[6];
(6).二遍進(jìn)行后向遍歷,如果遇到BSWAP指令標(biāo)記為可刪除,那么執(zhí)行刪除操作;
(7).執(zhí)行步驟⑴-(6),直到程序的所有基本塊處理完畢。
[0006]本發(fā)明基于輕量的數(shù)據(jù)流分析方法,在代碼生成階段,通過分析BSWAP指令操作數(shù)的特殊性,判斷該條BSWAP指令是否冗余;通過分析Load/Store指令的位置特點(diǎn),判斷相應(yīng)的BSWAP指令是否冗余。對于冗余的BSWAP指令,設(shè)置刪除標(biāo)記位,同時(shí)由于BSWAP指令總是成對出現(xiàn)的,還要找到配對的BSWAP指令,也設(shè)置相應(yīng)的刪除標(biāo)記位。由于BSWAP指令總是Load/Store指令個(gè)數(shù)的兩倍,刪除冗余的BSWAP將大大提升程序執(zhí)行效率。
[0007]本發(fā)明采用上述技術(shù)方案所設(shè)計(jì)的面向BSWAP指令的窺孔優(yōu)化方法,大大消除了程序中冗余的BSWAP指令,同時(shí)暴露了更多的程序優(yōu)化機(jī)會,提高了程序性能。

【專利附圖】

【附圖說明】
[0008]圖1表示本發(fā)明面向BSWAP指令的窺孔優(yōu)化方法的流程圖。

【具體實(shí)施方式】
[0009]下面結(jié)合附圖對本發(fā)明面向BSWAP指令的窺孔優(yōu)化方法作具體說明。
[0010]參見圖1,本發(fā)明面向BSWAP指令的窺孔優(yōu)化方法,該方法用于寄存器數(shù)據(jù)的字節(jié)對齊方式和內(nèi)存數(shù)據(jù)的字節(jié)對齊方式不一致的系統(tǒng)中,是能夠消除多余BSWAP指令的優(yōu)化方法,所述的優(yōu)化方法包含以下步驟:
(1).以基本塊為單位對程序進(jìn)行簡單的數(shù)據(jù)流分析,得到數(shù)據(jù)訪問的使用-定義鏈(U-D鏈),并記錄每一個(gè)使用-定義鏈的使用次數(shù);
(2).以基本塊為單位對指令鏈進(jìn)行前向遍歷:如果檢測到內(nèi)存存儲Store指令,那么訪問使用-定義鏈找到BSWAP的定義指令,如果該指令為數(shù)據(jù)初始化指令,那么進(jìn)入步驟⑶;如果該指令為內(nèi)存加載Load指令,那么進(jìn)入步驟⑷;否則進(jìn)入步驟(5);
(3).如果初始化數(shù)據(jù)具有內(nèi)存對稱性(即翻轉(zhuǎn)前與翻轉(zhuǎn)后數(shù)據(jù)值相同),同時(shí)BSWAP的使用-定義鏈上的每條指令的使用次數(shù)都為一,那么該條BSWAP指令時(shí)多余的,標(biāo)記BSWAP為可刪除;
⑷.Load指令和Store指令之間的使用-定義鏈包含至少兩條BSWAP指令,如果這條定義-使用鏈上每條指令的使用次數(shù)都為一,那么這兩條BSWAP指令是多余的,標(biāo)記BSWAP指令為可刪除;
(5).遍歷下一條指令,重復(fù)步驟⑵-⑷,直到該基本塊的所有指令都遍歷完畢,進(jìn)入步驟(6);
(6).以基本塊為單位對指令鏈進(jìn)行后向遍歷,如果遇到BSWAP指令標(biāo)記為可刪除,那么執(zhí)行刪除操作,更新使用-定義鏈,設(shè)置BSWAP指令的定義指令使用次數(shù)減一;
(7).執(zhí)行步驟⑴-(6),直到程序的所有基本塊處理完畢。
[0011]最后應(yīng)說明的是,以上實(shí)施例僅用于說明本發(fā)明的技術(shù)方案而非限制。盡管參照實(shí)例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的保護(hù)范圍當(dāng)中。
【權(quán)利要求】
1.一種面向BSWAP指令的窺孔優(yōu)化方法,其特征是該方法用于寄存器數(shù)據(jù)的字節(jié)對齊方式和內(nèi)存數(shù)據(jù)的字節(jié)對齊方式不一致的系統(tǒng)中,是能夠消除多余BSWAP指令的優(yōu)化方法,所述的優(yōu)化方法包含以下步驟: ⑴.對程序進(jìn)行數(shù)據(jù)流分析,得到數(shù)據(jù)訪問使用-定義鏈; (2).頭遍進(jìn)行前向遍歷,訪問程序指令鏈:如果檢測到內(nèi)存存儲指令,那么根據(jù)使用-定義鏈找到BSWAP的定義指令;如果該指令為數(shù)據(jù)初始化指令,那么進(jìn)入步驟⑶;否貝U,如果該指令為內(nèi)存加載指令,那么進(jìn)入步驟⑷;否則進(jìn)入步驟(5); (3).如果初始化數(shù)據(jù)具有內(nèi)存對稱性,而且BSWAP指令沒有多余的使用,那么該條BSffAP指令是多余的,標(biāo)記BSWAP為可刪除; ⑷.內(nèi)存存儲指令和內(nèi)存加載指令之間的使用-定義鏈包含至少兩條BSWAP指令,如果這兩條BSWAP指令沒有多余使用,那么標(biāo)記BSWAP指令為可刪除; (5).遍歷下一條指令,重復(fù)步驟⑵-⑷直到該基本塊的所有指令都遍歷完畢,進(jìn)入步驟(6); (6).二遍進(jìn)行后向遍歷,如果遇到BSWAP指令標(biāo)記為可刪除,那么執(zhí)行刪除操作; (7).執(zhí)行步驟⑴-(6),直到程序的所有基本塊處理完畢。
【文檔編號】G06F9/30GK104049949SQ201410236773
【公開日】2014年9月17日 申請日期:2014年5月30日 優(yōu)先權(quán)日:2014年5月30日
【發(fā)明者】劉尚爭, 郭奇青, 楊磊 申請人:南陽理工學(xué)院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
东莞市| 江都市| 类乌齐县| 五河县| 新化县| 长丰县| 阜南县| 抚顺市| 武山县| 四子王旗| 佳木斯市| 南开区| 繁峙县| 榆树市| 昔阳县| 松潘县| 北安市| 普兰县| 蒙山县| 寻甸| 通道| 宜阳县| 腾冲县| 鄂尔多斯市| 武穴市| 聂荣县| 甘泉县| 蒙自县| 砚山县| 泗阳县| 璧山县| 许昌市| 鞍山市| 江阴市| 武邑县| 屏南县| 柳州市| 理塘县| 德惠市| 玉龙| 富阳市|