您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何理解Wind River Diab,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
重要的編譯器特性和擴(kuò)展
■大量編譯器控件和選項(xiàng),使編譯器操作和代碼生成更加靈活
■大量針對嵌入式設(shè)備開發(fā)者的功能和擴(kuò)展
■針對x86系列的每種處理器分別定制的優(yōu)化和功能
■廣泛的編譯時(shí)檢查,以檢測可疑和不可移植的結(jié)構(gòu)
■強(qiáng)大的分析能力,定位代碼瓶頸。分析信息還可以自動用作對編譯器的反饋,從而實(shí)現(xiàn)更積極的優(yōu)化
■C++模板、異常和運(yùn)行時(shí)類型信息
高性能優(yōu)化
各種各樣的優(yōu)化,其中一些是Diab編譯器獨(dú)有的,可以產(chǎn)生更加快速緊湊的代碼。特殊的優(yōu)化包括出色的過程間寄存器分配、內(nèi)聯(lián)和可達(dá)性分析。優(yōu)化分為三類:局部、函數(shù)級和程序級
■代碼塊內(nèi)的局部優(yōu)化
常量折疊 Constant folding
整除優(yōu)化 Integer divide optimization
局部公共子表達(dá)式消元 Local common sub-expression elimination
局部強(qiáng)度折減 Local strength reduction
輕微轉(zhuǎn)換 Minor transformations
窺孔優(yōu)化 Peep-hole optimizations
Switch優(yōu)化 Switch optimizations
■函數(shù)內(nèi)的全局優(yōu)化
自動遞增/遞減優(yōu)化 Auto increment/decrement optimizations
自動寄存器分配 Automatic register allocation
復(fù)雜分支優(yōu)化 Complex branch optimization
條件代碼優(yōu)化 Condition code optimization
常量傳播 Constant propagation
死碼消除 Dead code elimination
延遲分支優(yōu)化 Delayed branches optimization
延遲寄存器保存 Delayed register saving
出入口代碼消除 Entry/exit code removal
擴(kuò)展優(yōu)化 Extend optimization
全局公共子表達(dá)式消元 Global common sub-expression elimination
全局變量存儲延遲 Global variable store delay
生存周期分析(著色) Lifetime analysis (coloring)
鏈接寄存器優(yōu)化 Link register optimization
循環(huán)倒計(jì)時(shí)優(yōu)化 Loop count-down optimization
循環(huán)不變量代碼移動 Loop invariant code motion
循環(huán)靜態(tài)變量優(yōu)化 Loop statics optimization
循環(huán)強(qiáng)度縮小 Loop strength reduction
循環(huán)展開 Loop unrolling
內(nèi)存讀寫優(yōu)化 Memory read/write optimizations
重新排序代碼調(diào)度 Reordering code scheduling
重啟優(yōu)化 Restart optimization
支鏈優(yōu)化 Branch-chain optimization
空間優(yōu)化 Space optimization
拆分優(yōu)化 Split optimization
寄存器的結(jié)構(gòu)體和位域成員 Structure and bit-field member to registers
尾遞歸 Tail recursion
尾部挑戰(zhàn)優(yōu)化 Tail jump optimization
未定義變量傳播 Undefined variable propagation
未使用賦值刪除 Unused assignment deletion
變量位置優(yōu)化 Variable location optimization
變量傳播 Variable propagation
■ 函數(shù)間全局優(yōu)化
參數(shù)地址優(yōu)化 Argument address optimization
函數(shù)內(nèi)聯(lián) Function inlining
粘合函數(shù)優(yōu)化 Glue function optimization
程序間優(yōu)化 Interprocedural optimizations
文字合成優(yōu)化 Literal synthesis optimization
局部數(shù)據(jù)區(qū)優(yōu)化 Local data area optimization
分析反饋優(yōu)化 Profiling feedback optimization
移植性
■編譯器實(shí)現(xiàn)了ANSI C++標(biāo)準(zhǔn)(ISO/IEC FDIS 14882),包括異常、模板和運(yùn)行時(shí)類型信息(RTTI)
■對于C模塊,編譯器完全符合ANSI X3.159-1989標(biāo)準(zhǔn)(即ANSI C),并帶有與其它編譯器兼容的擴(kuò)展,以簡化Legacy代碼的移植
■標(biāo)準(zhǔn)C程序可以用嚴(yán)格的ANSI選項(xiàng)編譯,該選項(xiàng)關(guān)閉擴(kuò)展并將語言簡化為標(biāo)準(zhǔn)核心?;蛘?,可以根據(jù)需要使用擴(kuò)展來逐步升級程序
■產(chǎn)生完全相同的二進(jìn)制輸出,與Host平臺無關(guān)
關(guān)于如何理解Wind River Diab就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。