摘要: 本文主要對Arm Compiler 6編譯器的優化選項進行介紹。
關鍵字:Arm Compiler 6、編譯器、優化等級、鏈接時優化。
1. 代碼優化
編譯器在優化時有些可以提高代碼性能,而有些可以減少代碼大小。不同的優化通常相互會有影響。通常情況下,提高代碼性能的方法會增加代碼大小,而減少代碼大小的方法會降低性能。例如,編譯器在展開小循環時會獲得更高的性能,但會增加代碼大小。
下面具體介紹一下armclang的優化參數選項。armclang默認優化級別是-O0,不執行優化。
優化代碼執行性能的參數選項:
-O1|-O2|-O3 :數字越大代表優化等級越高。
-Ofast:在-O3基礎上進行提高性能的所有優化,有可能會違反一些語言標準。
-Omax:在-Ofast基礎上增加鏈接時優化。
優化代碼大小的參數選項:
-Os:執行代碼優化減小代碼大小,同時一定程度上兼顧代碼執行性能。
-Oz:執行代碼優化減小代碼大小。
-Omin:在-Oz基礎上,利用鏈接時優化刪除未使用的代碼,同時嘗試優化全局內存訪問。在編譯C++代碼時會刪除虛函數。
2. 鏈接時優化
armlink的優化級別與armclang的優化級別相同。
單獨在armlink時使用鏈接時優化,可以使用與armlink --lto_level來選擇相應的連接時優化級別。
當然在編寫代碼時,也可以減少代碼大小,提高執行效率。例如前面文章提到的,優化循環終止條件,展開循環,減少對象和庫的調試信息,使用內聯函數等等。
來源:《Arm? Compiler for Embedded User Guide Version 6.18》
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
關于億道電子
億道電子技術有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內資深的研發工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業客戶提供研發、設計、管理過程中使用的各種軟件開發工具,致力于幫助客戶提高研發管理效率、縮短產品設計周期,提升產品可靠性。
20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰略合作伙伴關系,并作為他們在中國區的主要分銷合作伙伴服務了數千家中國本土客戶,為客戶提供從芯片級開發工具、EDA 設計工具、軟件編譯以及測試工具、結構設計工具、仿真工具、電氣設計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經驗積累,真正的幫助客戶實現了讓研發更簡單、更可靠、更高效的目標。

歡迎關注“億道電子”公眾號
了解更多研發工具軟件知識

首頁 > 新聞資訊
