freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

編譯原理之代碼生成-wenkub

2023-05-24 04:33:51 本頁(yè)面
 

【正文】 可以刪除標(biāo)號(hào)為 e、 c的結(jié)點(diǎn)。 ? 入口到第一條指令有一條邊 ? 從任何可能最后執(zhí)行的基本塊到出口有一條邊 流圖繪制舉例 流圖的例子 ?因跳轉(zhuǎn)而生成的邊 ? B3?B3 ? B4?B2 ? B6?B6 ?因?yàn)轫樞蚨傻倪? ? 其它 循環(huán) ?程序的大部分運(yùn)行時(shí)間花費(fèi)在循環(huán)上 ?因此循環(huán)是識(shí)別的重點(diǎn) ?循環(huán)的定義 ? 循環(huán) L是一個(gè)結(jié)點(diǎn)集合 ? 存在一個(gè)循環(huán)入口( loop entry)節(jié)點(diǎn),其唯一的前驅(qū)可以是循環(huán) L之外的結(jié)點(diǎn) ? 其余結(jié)點(diǎn)都存在到達(dá) L的入口的非空路徑,且路徑都在 L中。 ? 簡(jiǎn)單的說(shuō), Q活躍就是指 Q定義的值被使用過(guò)。 ?如何為過(guò)程調(diào)用和返回生成代碼 ? 靜態(tài)分配 ? 棧式分配 活動(dòng)記錄靜態(tài)分配 ?每個(gè)過(guò)程 靜態(tài) 地分配一個(gè)數(shù)據(jù)區(qū)域,開始位置用 staticArea表示 ?call callee的實(shí)現(xiàn) ? ST , here+20 ?//保存返回地址 ? BR ... ?callee中的語(yǔ)句 return ? BR * *為突出重點(diǎn),經(jīng)常將活動(dòng)記錄中其它的部分忽略。 ? 無(wú)條件跳轉(zhuǎn) ? BR L;控制流轉(zhuǎn)向標(biāo)號(hào) L的指令 ? 條件跳轉(zhuǎn) ? Bcond r, L;對(duì) r中的值進(jìn)行測(cè)試,如果為真則轉(zhuǎn)向 L。第八章 代碼生成 湖南大學(xué)計(jì)算機(jī)與通信學(xué)院(軟件學(xué)院) 代碼生成器的位置 ?根據(jù)中間表示生成代碼 ?代碼生成器之前可能有一個(gè)優(yōu)化組件 ?代碼生成器的三個(gè)任務(wù) ? 指令選擇:選擇適當(dāng)?shù)闹噶顚?shí)現(xiàn) IR語(yǔ)句 ? 寄存器分配和指派:把哪個(gè)值放在哪個(gè)寄存器中 ? 指令排序:按照什么順序安排指令執(zhí)行 主要內(nèi)容 ?代碼生成器設(shè)計(jì)中的問(wèn)題 ?目標(biāo)機(jī)模型 ?靜態(tài) /棧式數(shù)據(jù)區(qū)分配 ?基本塊相關(guān)的代碼生成 ?簡(jiǎn)單的代碼生成算法 ?窺孔優(yōu)化 ?設(shè)計(jì)目標(biāo): ? 生成代碼的正確性(最重要) ? 易于實(shí)現(xiàn)、測(cè)試和維護(hù) ?輸入 ?輸出 ?指令選擇 ?寄存器分配 ?計(jì)算順序 代碼生成器設(shè)計(jì)中的問(wèn)題 ?輸入 ? 前端生成的源代碼的 IR(中間表示形式)及符號(hào)表信息 ? 中間表示形式的選擇 ? 四元式、三元式、字節(jié)代碼、堆棧機(jī)代碼、后綴表示、抽象語(yǔ)法樹、 DAG圖、 … ?輸出 ? RISC、 CISC; ? 可重定向代碼、匯編語(yǔ)言 代碼生成器設(shè)計(jì)中的問(wèn)題 ?指令選擇 ?代碼生成器將中間表示形式映射為目標(biāo)機(jī)代碼 ?映射的復(fù)雜性由下列因素決定: ?IR的層次 ? 高:用代碼模板翻譯,但代碼質(zhì)量不高,需優(yōu)化 ? 低:利用低層次細(xì)節(jié)生成更高效的代碼 ?指令集體系結(jié)構(gòu)本身的特性 ?期望的目標(biāo)代碼質(zhì)量 代碼生成器設(shè)計(jì)中的問(wèn)題 ?指令選擇 ?映射的復(fù)雜性由下列因素決定: ?IR的層次 ?指令集體系結(jié)構(gòu)本身的特性 ? 指令的統(tǒng)一性、完整性 ? 指令速度和機(jī)器慣用語(yǔ) (idioms) ?期望的目標(biāo)代碼質(zhì)量 代碼生成器設(shè)計(jì)中的問(wèn)題 ?指令選擇 ?映射的復(fù)雜性由下列因素決定: ?IR的層次 ?指令集體系結(jié)構(gòu)本身的特性 ?期望的目標(biāo)代碼質(zhì)量 ? 同一 IR程序可用不同代碼序列實(shí)現(xiàn),它們的代價(jià)不同 ?示例: a=a+1可實(shí)現(xiàn)為兩種 ?INC a ?LD R0,a ?ADD R0,R0,1 ?ST a, R0 目標(biāo)機(jī)模型 ?本書使用三地址機(jī)器模型,指令如下: ? 加載 ? LD dst, addr;把地址 addr中的內(nèi)容加載到 dst所指寄存器。 尋址模式 ?變量 x:指向分配 x的內(nèi)存位置 ?a(r):地址是 a的左值加上 r中的值 (可類比一維數(shù)組方便記憶) ?constant(r):寄存器中內(nèi)容加上前面的常數(shù)即其地址; (可類比一維數(shù)組方便記憶) ?*r:寄存器 r的內(nèi)容為其地址 ?*constant(r): r中內(nèi)容加上常量的和所指地址中存放的值為其地址 (可類比一維數(shù)組方便記憶) ?常量 constant56 例子 ?x=yz ? LD R1, y //R1=y ? LD R2, z //R2=x ? SUB R1, R1, R2 //R1=R1R2 ? ST x, R1 //x=R1 ?b=a[i] ? LR R1, i //R1=i ? MUL R1, R1, 8 //R1=R1*8 ? LD R2, a(R1) //R2=contents(a+contents(R1)) ? ST b, R2 //b
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1