- 編譯方法、技術與實踐
- 許暢等編著
- 321字
- 2024-09-11 16:26:42
1.2.6 中間代碼優化
基于中間代碼的優化不需要考慮源語言與目標語言之間存在的差異,是獨立于前端和后端進行優化的全部過程。一系列連續重寫中間代碼以消除效率低下和無法輕易轉換為機器代碼的代碼片段的方法或函數構成了編譯器的中間代碼優化模塊。不同編譯器對優化管道及優化模塊的執行順序的設計都不同,這也導致了不同的優化效果與時空開銷。
例如,對于中間代碼:


其進行子表達式消除與無用代碼消除后的中間代碼為:

在第6章中,我們將討論以下內容:
●數據流分析框架,中間代碼優化器使用此框架作為優化算法的模板。
●數據流分析模式,優化器基于分析模式構造優化算法。
●中間代碼優化各模塊(常量傳播、公共子表達式消除、無用代碼消除、循環不變代碼外提、歸納變量強度削減等)的實現技術。