第章目標(biāo)代碼生成_第1頁(yè)
第章目標(biāo)代碼生成_第2頁(yè)
第章目標(biāo)代碼生成_第3頁(yè)
第章目標(biāo)代碼生成_第4頁(yè)
第章目標(biāo)代碼生成_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章目標(biāo)代碼生成(1)源程序編譯前端中間代碼代碼優(yōu)化中間代碼代碼生成器目標(biāo)程序符號(hào)表代碼生成器的位置第十一章目標(biāo)代碼生成代碼生成器的輸入包括中間代碼和符號(hào)表中的信息。目標(biāo)代碼一般有以下三種形式:(1)能獨(dú)立執(zhí)行的機(jī)器語(yǔ)言代碼,所有地址均以定位(代真)。(2)待裝配的機(jī)器語(yǔ)言模塊。當(dāng)需要執(zhí)行時(shí),由連接裝入程序把它們和某些運(yùn)行程序連接起來(lái),轉(zhuǎn)換成能執(zhí)行的機(jī)器語(yǔ)言代碼。(3)匯編語(yǔ)言代碼,尚須經(jīng)過(guò)匯編程序匯編,轉(zhuǎn)換成可執(zhí)行的機(jī)器代碼。代碼生成器著重考慮兩個(gè)問(wèn)題:一是如何使生成的目標(biāo)代碼較短;另一個(gè)是如何充分利用計(jì)算機(jī)的寄存器,減少目標(biāo)代碼中訪問(wèn)存儲(chǔ)單元的次數(shù)。這兩個(gè)問(wèn)題直接影響代碼的執(zhí)行速度。第十一章目標(biāo)代碼生成基本問(wèn)題:所有代碼生成器都要面對(duì)何種中間代碼輸入,(是式逆波蘭,四元式,還是三元式?等問(wèn)題)何種代碼做為目標(biāo)程序,選擇適當(dāng)?shù)拇a指令,最優(yōu)的寄存器分配方案,和計(jì)算順序等基本問(wèn)提.為此本書(shū)見(jiàn)立了目標(biāo)機(jī)器模型:并把中間代碼對(duì)應(yīng)的目標(biāo)代碼做了規(guī)定.利用待用信息,寄存器描述數(shù)組RVALUE,變量地址描述數(shù)組AVALUE等概念建立了代碼生成算法.P316[例11。2]同學(xué)們應(yīng)該好好研究。P317表11。4各中間代碼對(duì)應(yīng)的目標(biāo)代碼應(yīng)該背過(guò)。寄存器分配:利用執(zhí)行代價(jià)的概念說(shuō)明如何建立更佳的寄存器分配方案。對(duì)于循環(huán)L中某變量M,如果分配一個(gè)寄存器給它專用,那么,每執(zhí)行循環(huán)一次,執(zhí)行代價(jià)的節(jié)省數(shù)可用公式(11。1)計(jì)算。這個(gè)計(jì)算公式應(yīng)該掌握。第十一章目標(biāo)代碼生成[例11。3]圖11。4代表某程序的最內(nèi)層循環(huán),其中無(wú)條件轉(zhuǎn)移和條件轉(zhuǎn)移指令均以改用箭頭來(lái)表示。各基本塊入口之前和出口之后的活躍變量已列在圖中。假定R0,R1和R2三個(gè)寄存器在該循環(huán)中將固定分配給某三個(gè)變量使用。現(xiàn)在,我們利用公式(11。1)計(jì)算各變量的執(zhí)行代價(jià)節(jié)省數(shù),并且取執(zhí)行代價(jià)節(jié)省數(shù)最高的來(lái)確定這三個(gè)變量。解:因?yàn)锽1中引用a前已對(duì)a定值,所以u(píng)se(a,B1)=0;在B2,B3中a被各引用一次,且在引用前未對(duì)a定值,所以u(píng)se(a,B2)=use(a,B3)=1;B4中未引用a,所以u(píng)se(a,B4)=0.因?yàn)閍在B1中被定值且a在B1出口是活躍的,a在B2,B3和B4出口后不是活躍的則:live(a,B1)=1Live(a,B2)=live(a,B3)=live(a,B4)=0;所以代價(jià)節(jié)省數(shù)為:1+1+2*1=4。第十一章目標(biāo)代碼生成同樣可以算出b,c,d,e,f的執(zhí)行代價(jià)節(jié)省數(shù)分別為:6,3,6,4,4。按照代價(jià)節(jié)省數(shù)的大小我們把寄存器R0分配給d,R1分配給b;a,e,f的執(zhí)行代價(jià)相同,可人選其一將R2分配給a.DAG的目標(biāo)代碼為了生成更有效的目標(biāo)代碼,要考慮的另一個(gè)問(wèn)題是,對(duì)基本塊中中間代碼序列,我們應(yīng)按怎樣的次序來(lái)生成其目標(biāo)代碼呢?本節(jié)P323給出了利用基本塊的DAG圖給出了基本塊中中間代碼序列排序的方法,以便生成較優(yōu)的目標(biāo)代碼。下面我們學(xué)習(xí)一個(gè)例子,一加深其理解:[例11。6]考察下面中間代碼序列G1:第十一章目標(biāo)代碼生成T1:=A+BT2:=A-BF:=T1*T2T1:=A-BT2:=A–CT3:=B-CT1:=T1*T2G:=T1*T3其對(duì)應(yīng)的DAG如圖ABC+n1--n2n4T2**-Fn3*Gn7T3n5T1n6A第十一章目標(biāo)代碼生成上圖的DAG含有7個(gè)結(jié)點(diǎn),我們應(yīng)用課本中的算法。把它們排序,主要步驟如下。第一步置初值:i=7;T的所有元素全為空null。內(nèi)部結(jié)點(diǎn)n3和n7均滿足第三步的要求,假定我們選取T[7]為結(jié)點(diǎn)n3。結(jié)點(diǎn)n3的最左子結(jié)點(diǎn)(內(nèi)部)n1滿足第5步的要求,因此按第6步,T[6]=n1.但n1的最左子結(jié)A為葉結(jié),不滿足第6步的要求。則現(xiàn)在只有n7滿足第3步要求,于是T[5]=n7。結(jié)點(diǎn)n7的最左子結(jié)n6滿足第5步的要求,因此T[4]=n6。結(jié)點(diǎn)n6的最左子結(jié)點(diǎn)n2同樣滿足第5步的要求,因此T[3]=n2.余下的滿足第3步要求的尚有n4和n5,假定選取T[2]=n4。當(dāng)把n5列為T[1]后,算法工作結(jié)束。至此,我們求出的圖的內(nèi)結(jié)點(diǎn)順序?yàn)椋簄5,n4,n2,n6,n1,n3.按這個(gè)次序從新表示中間代碼序列為G1‘為:T3:=B-C;T2:=A-C;S1:=A–B;T1:=S1*T2;G:=T1*T3;S2:=A+B;F:=S2*S1。如前所述按后一個(gè)中間代碼序列生成中間代碼將會(huì)較優(yōu)。第十一章目標(biāo)代碼生成窺孔優(yōu)化幾種窺孔優(yōu)化的方法都比較好理解,這里不再重述課本內(nèi)容。第十一章目標(biāo)代碼生成例題與習(xí)題解答[例11。1]假設(shè)只有R0和R1兩個(gè)寄存器,對(duì)賦值語(yǔ)句d=(a-b)+(a-c)+(a-c)生成目標(biāo)代碼。并寫出寄存器描述數(shù)組RVALUE和變量地址描述數(shù)組AVALUE.該賦值語(yǔ)句的三地址序列:t:=a-bt1:=a-ct2:=t+t1d:=t1+t2將此代碼看成一基本塊,并設(shè)在基本塊末尾,變量d是活躍的。生成目標(biāo)代碼表如圖:第十一章目標(biāo)代碼生成中間脖代碼譯目百標(biāo)代打碼RV甲AL催UE徐AV勞AL蓬UEt跟:=份a-蜘b墨L筆D葉R0者,鬼a窩R沫0含t觀t在R0中SU任B賞R佛0,融bt1搏:悉=a秋-c炎L卷D震R1燭,震a詳R0含t讀t在R0中SU夠B皆R1煙,層c憂R1含t1敏t班1在R1中t2艙:偵=源t+向t憲1妙A(yù)竭DD偏R柱0,樂(lè)R負(fù)1嗚R疤0含t2款t餃2在R0中R1含t1隆t1在R1中d逗:=耗t形1+安t2粉AD房誠(chéng)D昂R0評(píng),拜R1鞠R0含d皇d在R0中ST掘R扒0,艇d餓d在R0和存扛儲(chǔ)器落中第十份一章患目運(yùn)標(biāo)代廣碼生片成[例11。2](k3)假設(shè)R0針,R掙1和R2為可肺用寄遵存器虜,試督對(duì)以兇下各牢表達(dá)峰式分圣別生建成最莫優(yōu)目販標(biāo)代字碼。A+損(律B+障(王C亦*(爽D田+外E林/F川+扶G貓)*窗H爹)撤)音+戒(匙I往*炎J鍬)解:臭首先遞生成方三地默址中祖間代委碼序榴列:T1慈:伯=始E/塌FT2峽:沸=際D趕+咱T1T3滿:帝=點(diǎn)G淺+漂T2T4衫:經(jīng)=波C魄*校T3T5凱:懷=堡H突*卡T4T6錘:零=容B抖+識(shí)T5T7松:久=近A攔+私T6T8閣:抵=赤I孤*派JT9淚:肝=委T7鼓+潛T輝8第十獄一章遣目擾標(biāo)代生碼生蛾成最優(yōu)鑄的目警標(biāo)代顏碼:LD肚R0盼,陶EDI河V乎R0撇,察FAD熄D鐘R邪0,蜘GMU寄LR0歪,外HMU籍L仰R詠0,哲CAD拿D梳R帥0,白BAD訊D險(xiǎn)R盈0,蠅ALD疑R壺1,輝IMU孝L陰R1和,展JAD柄D修R視0,溜R1[例11。3](K1)對(duì)以晚下中劫間代彼碼序喜列G滲:第十揚(yáng)一章嶄目牲標(biāo)代擇碼生附成T1劍:徐=灘B遍–跨CT2皂:租=理A隔*介T1T3友:絹=炎D稻+萌1T4幕:罷=偷E椅–千FT5贏:個(gè)=脆T3兄*貼T莖4W雹:=耽T逃2/奔T5假設(shè)兼可用同寄存床器為R0和R1,W是基蘆本塊事出口遇的活薦躍變她量,銀用簡(jiǎn)掏單代放碼生陷成算虛法生廚成目敏標(biāo)代構(gòu)碼,記同時(shí)朝列出請(qǐng)代碼塞生成魂過(guò)程桐中的日寄存糧器描旋述和呢變量嬌地址尸描述杏。中間呀代碼下目副標(biāo)代士碼RV寧AL兇UE睬A建VA落LU注ET1授:=疏B-合C滴L渠D森R0峽,蹈B免R疤0含T1呼T1在R0中SU課B賊R0次,縱CT2除:=晝A予*T綱1段MU嫁L鄉(xiāng)豐R0立,牢A胖R啊0含T2箏T災(zāi)2在R0中ST條R0江,俊T2煤T2同時(shí)氏在R0和存互儲(chǔ)器膏中T3溫:=陶D男+值1害L夢(mèng)D咬R1臉,鵝D欣R寫1含T3費(fèi)T溜3在R1中第十惱一章養(yǎng)目借標(biāo)代頓碼生而成AD們D暮R1需,炭#1T4榆:性=隸E-呢F呼L卸D嘴R0駝,鮮E渠R0含T4療T走4在R0中SU躬B門R0鴉,船F(xiàn)T5浙:=玻T3愧*牙T4駁M斯UL樣R妥1,責(zé)R斬0晨R1含T5若T葡5在R1中LD晃R0縣,槳T2罵R0含T2踐T2在R0和存棕儲(chǔ)器上中W:腔=T哀2/擦T5配D華IV猛R裹0,稠R飛1旬R0含W豎W在R0中ST討R氧0,朵W項(xiàng)W在R0和存臥儲(chǔ)器陳中第十瓶一章苗目厭標(biāo)代儲(chǔ)碼生查成第十課一章概目糞標(biāo)代達(dá)碼生退成編譯盆原理優(yōu)化棋和目幻玉標(biāo)代阻碼生江成(2濟(jì)h)主講故:蔣仰偉進(jìn)乖教授20仁07捉.0燥3-仿05第十淹一章狐目減標(biāo)代復(fù)碼生摸成第七跪章型編爆譯程張序7.1編譯井程序劈燕考慮擴(kuò)的因摔素7.2執(zhí)行由時(shí)的卸內(nèi)存貫分配7.3代碼田優(yōu)化第十毛一章口目詠標(biāo)代需碼生天成7.鞋1編譯戀程序勁考慮捉的因箭素編譯堆程序板設(shè)計(jì)差時(shí),列除了寇需要殿用到揚(yáng)前面致介紹氣的分曲析技束術(shù)和剩制導(dǎo)蒙翻譯濟(jì)外,叔還要獨(dú)考慮慈如何評(píng)從源數(shù)程序咱數(shù)據(jù)舌空間潮映射盟到具拜體物胳理存蛋儲(chǔ)空緒間,倍也就胡是運(yùn)欣行時(shí)皆的數(shù)棋據(jù)表懸示。在運(yùn)惑行的餐時(shí)候嶼如何排組織燈或存鐮放數(shù)襲據(jù)、緣瑞在源氧程序廊中同僚名標(biāo)狠識(shí)符冊(cè)是怎洞么樣滅描述壩不同填的對(duì)響象、毀運(yùn)行利時(shí)的縮慧程序報(bào)控制柜權(quán)是欠如何國(guó)轉(zhuǎn)移刺的,問(wèn)參數(shù)青是如樂(lè)何傳殼遞以館及如亞何生摟成質(zhì)恐量較蹤蝶高的粘目標(biāo)環(huán)代碼腎都是抵編譯工程序擠設(shè)計(jì)澇者應(yīng)洗該考鍛慮的惜問(wèn)題演。第十矩一章蟻目棗標(biāo)代絨碼生谷成7.歡1.巡壽1數(shù)據(jù)悼類型類型貝的合稿法性饑檢查梢是判閣斷數(shù)督據(jù)類怪型是奴否與膝上下胞文的環(huán)要求裁一致數(shù)據(jù)滲類型襪是對(duì)盯該類寫型數(shù)析據(jù)(浸變量岸或常迎量)知的取笛值是宅否合掛法以般及對(duì)杯該類皂型數(shù)鉗據(jù)的攻運(yùn)算爸是否旺合法許的一馳種說(shuō)廢明。第十每一章寒目腎標(biāo)代拋碼生塊成7.估1.唯2數(shù)據(jù)買結(jié)構(gòu)一個(gè)纖程序仙設(shè)計(jì)閉語(yǔ)言餃如允快許使臨用的革數(shù)組反、記娛錄、齡字符托串、揉表、望棧等仿形式少的數(shù)摩據(jù)結(jié)筑構(gòu),楊在編征譯程站序中鎮(zhèn)應(yīng)為亭它們劍提供伸相應(yīng)栗的翻羊譯。為了牙能對(duì)有數(shù)據(jù)甜結(jié)構(gòu)幕中的呼元素泡進(jìn)行遭引用仍,必概須完封成從籌邏輯摘結(jié)構(gòu)睛到能餃夠訪粘問(wèn)這馬些數(shù)強(qiáng)據(jù)元亦素的袋物理最結(jié)構(gòu)近的映某射。葉應(yīng)考后慮:1映既射算侵法相茂對(duì)簡(jiǎn)族單,居根據(jù)鉛邏輯冶結(jié)構(gòu)羨容易錦計(jì)算虛出物鎖理地宜址2從貝邏輯豆結(jié)構(gòu)詞投影變到物船理結(jié)分構(gòu)時(shí)發(fā),不脾至于珠超界犬或存手儲(chǔ)溢為出3使源用的倒數(shù)據(jù)虧結(jié)構(gòu)驚承擔(dān)雙這種測(cè)程序閑設(shè)計(jì)始語(yǔ)言度的主寺要功蘆能4在漫這些醫(yī)數(shù)據(jù)灰結(jié)構(gòu)碑定義紛相關(guān)終的運(yùn)精算第十請(qǐng)一章艙目飄標(biāo)代允碼生杰成7.始1.孝3作用開(kāi)域規(guī)緒則一個(gè)蝴程序勻設(shè)計(jì)慮語(yǔ)言欲的作散用域飄規(guī)則扒確定繡了該窗程序鉛設(shè)計(jì)訂語(yǔ)言雙的某策個(gè)程襪序的債不同平程序渾塊中污所說(shuō)志明的閱標(biāo)識(shí)絲式符的偏可訪府問(wèn)性么。從其另外礎(chǔ)一個(gè)蹲角度勉看,造在程拖序中爛當(dāng)訪倦問(wèn)一熔個(gè)標(biāo)本識(shí)符伸通過(guò)嚷作用霉域規(guī)黃則可處確定伙究竟寺訪問(wèn)近的是齊哪一丟個(gè)實(shí)允體中夸說(shuō)明錦的標(biāo)控識(shí)符鼓。通爺常一懲個(gè)程忙序設(shè)往計(jì)語(yǔ)逮言的時(shí)一個(gè)否標(biāo)識(shí)浴符或校數(shù)據(jù)凈項(xiàng)的湯作用蝴域是怠在說(shuō)甘明該差標(biāo)識(shí)甲符或經(jīng)數(shù)據(jù)掃項(xiàng)的漸程序油塊內(nèi)倒。第十娃一章悔目起標(biāo)代膠碼生構(gòu)成7.夫1.縫4控制貴結(jié)構(gòu)一個(gè)像程序皮設(shè)計(jì)軟語(yǔ)言存的控棟制結(jié)們構(gòu)是漢該語(yǔ)抵言在厘程序掉運(yùn)行累期間差用于掘改變始控制世流的閣語(yǔ)言魄特征各集合析。第十校一章廢目志標(biāo)代側(cè)碼生在成7.2執(zhí)行物時(shí)的煮內(nèi)存雕分配編譯蝴程序陽(yáng)需要農(nóng)為源奮程序吩中的廳數(shù)據(jù)鬼分配速執(zhí)行虛時(shí)的柔存儲(chǔ)往空間恐,編否譯程傭序從辣操作穗系統(tǒng)絞中申享請(qǐng)編規(guī)譯程虎序計(jì)低算出徐的所臂需的照內(nèi)存包,或配編譯論程序哀生成舅在運(yùn)旬行時(shí)柔需申擺請(qǐng)內(nèi)紗存的汪指令大。(1醒)妥確定順用來(lái)讀表示反某一富數(shù)據(jù)洞項(xiàng)的婆內(nèi)存蹤蝶大小剝。(2賴)恢使用霜適當(dāng)黎的內(nèi)扎存分猶配策飽略,枕實(shí)現(xiàn)頂具體漲數(shù)職據(jù)的戰(zhàn)作用握域和紙生存冶期。(3苦)紹確定昨以適驕當(dāng)?shù)难b算法引訪問(wèn)應(yīng)生存溝期內(nèi)誤的數(shù)仗據(jù),緞包括信基本泡型數(shù)順據(jù)結(jié)少構(gòu)構(gòu)株造類住型。第十銳一章?lián)崮科驑?biāo)代裝碼生餡成為目懲標(biāo)程苦序分演配執(zhí)縮慧行時(shí)榨所需臭的存蛇儲(chǔ)空乳間:一種潮是在膛目標(biāo)秩程序崇運(yùn)行州前,譯由編咐譯程增序?yàn)楦矓?shù)據(jù)圾結(jié)構(gòu)時(shí)分配雷存儲(chǔ)佛空間仙,在弄程序元的執(zhí)虧行期施間不稱再分山配和磚解除和這種劈燕內(nèi)存栗分配釘。叫芝做靜慢態(tài)存稅儲(chǔ)分碑配。一種顆在程此序運(yùn)晝行期算間均茂可以盾對(duì)內(nèi)菠存實(shí)污現(xiàn)分捉配或絲式解除園分配圍,一型旦存頂儲(chǔ)分卻配解陜除該價(jià)存儲(chǔ)遙空間蒸內(nèi)的朵數(shù)據(jù)五便失防去意非義。宵叫做丙動(dòng)態(tài)批存儲(chǔ)黎分配泰。第十綁一章如目狡標(biāo)代封碼生兼成宗旨愁:獲得罰較好濟(jì)性能宮的代燥碼階段勸:so忌ur書(shū)ce開(kāi)fr息on慈t兄I.悔R末c醬od走e狀ta助rg徹etco借de濱en攔d停ge低ne途ra泊to螺r還c椒od候e用戶中間慶代碼優(yōu)化目標(biāo)上代碼優(yōu)化什么舍是代爹碼優(yōu)完化7.3喜代魚(yú)碼優(yōu)輝化第十燦一章斬目處標(biāo)代柜碼生恐成例:in包tar曬r[咸10吵00加0]櫻;vo爪idBi魄nk王y()嶺{in熱t(yī)i;fo托r攜(i增=0飯;駱i老<衣10崇00染0;叮i菜++弄)ar艘r[奶i]獻(xiàn)=痰1;}in棵tar滴r[蹤蝶10心00獅0]堆;vo鉤idWi兔nk民y()壺{re略gi丑st藝erin毀t*p雕;fo棕r滋(p業(yè)=ar喪r;院p及<ar些r+條10漆00乖0;通p雙++末)*p幣=腸1債;}第十建一章婚目盜標(biāo)代換碼生裂成目標(biāo)華:續(xù)作為號(hào)一個(gè)作高級(jí)販語(yǔ)言葵的使?fàn)N用者聾很希燥望編外譯程雀序所掛產(chǎn)生攪的代滔碼能姿夠和揪直接囑用機(jī)磚器語(yǔ)淚言編柄寫的另程序飽效果色一樣弊好。代碼件優(yōu)化迎是指熄對(duì)原柏代碼肚進(jìn)行薦的變薦換,顯從而菌獲得贊在時(shí)共間和械空間江上效駝率相柿對(duì)高們的程積序,撤且一久般也鹿不是裙在時(shí)區(qū)間和耽空間額上最怠省的植程序恒,在優(yōu)進(jìn)行抖優(yōu)化疊時(shí)應(yīng)記該做母到:1念代碼爛的變蹈換必禽須保嶼持原疾程序峽的語(yǔ)章義。2絞從理勢(shì)論上傲,變鐵換加歷快了菠程序悅的速址度。3馳這種襲變換宅是值割得的第十之一章故目溜標(biāo)代員碼生著成優(yōu)化是分類按階孟段分:與機(jī)斬器無(wú)池關(guān)的注優(yōu)化--門-對(duì)中間代碼建進(jìn)行依賴女于機(jī)融器的拘優(yōu)化--墾-對(duì)目標(biāo)代碼躬進(jìn)行根據(jù)僻優(yōu)化史所涉娛及的腳程序株范圍科分成:(1油)局部晝優(yōu)化:(基本爺塊)應(yīng)用藏于僅佩包含夾少量生語(yǔ)句捧的小茄程序恰的優(yōu)悔化變似換。(2聾)循環(huán)綱優(yōu)化:對(duì)循處環(huán)中倦的代勺碼進(jìn)剖行優(yōu)趁化(3煮)全局爺優(yōu)化:大范賤圍的熱優(yōu)化應(yīng)用舍于一科個(gè)程騙序單里元,伸如一幣個(gè)函礦數(shù)或科一個(gè)嫁過(guò)程剃的優(yōu)青化變旬換。第十氧一章硬目賀標(biāo)代瓜碼生列成程序箏的執(zhí)燦行效橫率是剃可以投通過(guò)雀在編脖譯期道間進(jìn)鴿行優(yōu)用化變劉換,先不改糾變語(yǔ)迫義重竹寫程糞序段銹以提狐高程奏序的途工作親效率湊。雖橋然變懂換的飼方法索很多煮,但端是常受用的杰大致剝有以摔下幾叼種:1姑編譯吩求值2豎合并毛預(yù)算3座刪除漸死碼4借減少優(yōu)頻率5斬強(qiáng)度校削弱晌和變葵換循丟環(huán)條木件6代減少?gòu)堉貙懰蓚鞑サ谑n一章律目捷標(biāo)代檔碼生離成局部但優(yōu)化弟:役所需視要的應(yīng)開(kāi)銷韻相對(duì)蔬較低畜,因進(jìn)此從俘優(yōu)化鍵所得桃到的虎收益繪也相據(jù)對(duì)較避低。堵局疤部?jī)?yōu)裙化只沫是在睛較小緩的朵程序繞段中址進(jìn)行防優(yōu)化濃,從惕而到脹達(dá)優(yōu)微化的貿(mào)目的宰。他這種慌程序爛段稱火為基箱本段四。全局子優(yōu)化屋:斤要產(chǎn)昌生高鞏效的漂代碼兵,編錯(cuò)譯程勢(shì)序僅其在基看本塊譯內(nèi)優(yōu)梨化是旁不夠屑的,滅編譯筐程序士應(yīng)把毅程序答作為巾一個(gè)舍整體影來(lái)考枝慮,會(huì)對(duì)各配個(gè)基逝本塊仁的信絨息進(jìn)運(yùn)行數(shù)搏據(jù)流勾的分累析從尤而達(dá)薄到優(yōu)懇化的繭目的伍。全疊局優(yōu)檢化同琴局部鏟優(yōu)化輝相比童,全花局優(yōu)王化需穴要更意多的攀分析捉,以以便確很定優(yōu)妄化的毫可行判性。第十揚(yáng)一章匪目敵標(biāo)代寨碼生板成優(yōu)化升的原漁則等價(jià)計(jì)原則有效潛原則時(shí)間空間合算艷原則優(yōu)化致的代壟價(jià)效果第十飾一章誰(shuí)目塵標(biāo)代撥碼生宅成優(yōu)化鈔的基狐本方局法去處醉冗余削減拾強(qiáng)度使用凳更快磁的指堵令第十寬一章廟目夜標(biāo)代骨碼生禾成局部遺優(yōu)化方法合并絡(luò)已知伏量臨時(shí)蘆變量構(gòu)改名交換促語(yǔ)句霧位置代數(shù)寄變換第十蓮一章涂目靠標(biāo)代駕碼生反成循環(huán)械優(yōu)化代碼癥外提強(qiáng)度行削弱A=叉A+艙1A+沉+刪除鋸歸納銅變量例如含循環(huán)哨中加顯法變堪為,片循環(huán)睬外乘炸法第十援一章期目英標(biāo)代絕碼生呀成窺孔唱優(yōu)化窺孔目標(biāo)斧程序賽中的間一個(gè)輸可以役移動(dòng)嘩的窗咸口優(yōu)化撫方法冗余稍存取不可胸到達(dá)半代碼控制顏流優(yōu)掌化強(qiáng)度傾削弱刪除蝦無(wú)用澆操作第十班一章集目側(cè)標(biāo)代猴碼生蜻成7.跟4代碼肌生成生要考撈慮的稠主要閑問(wèn)題——具體膨細(xì)節(jié)葵依賴梁于目批標(biāo)機(jī)賞器和暮操作謀系統(tǒng)共同略的問(wèn)祖題:充分膛利用扒寄存額器基言本塊鳳中全咱局寄諒存器蟲(chóng)分配矛:不把黃寄存萬(wàn)器平粒均分地配給擋各個(gè)心變量四使用義,而史是從抓可用名的寄輕存器應(yīng)中分犁出幾汪個(gè),烈固定穩(wěn)分配猾給幾敵個(gè)變眨量單要獨(dú)使值用。標(biāo)準(zhǔn)昆:以各添變量漂在循環(huán)同內(nèi)需要扯訪問(wèn)主存品單元的次數(shù)為標(biāo)龜準(zhǔn)。選擇兔計(jì)算食機(jī)指波令系衛(wèi)統(tǒng)選擇屑計(jì)算剝次序第十公一章債目俱標(biāo)代兇碼生育成目標(biāo)荷代碼墻的三鄉(xiāng)豐種形匙式地址割代真牲的機(jī)挺器代菠碼待裝塵配的溪機(jī)器剃代碼鐵模塊匯編將語(yǔ)言羊(宏株匯編覆)機(jī)器謀指令蠟形式(o帳p銹so鑄ur坦ce抄,擺de肢st桌in壓at似io繼n)AD廢D尸s,霧d層/惜/識(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論