2012-12-17 26 views

回答

8

就我所知,-O4與啓用了-O3 +的LTO(鏈接時間優化)具有相同的含義。 見folloing代碼片段:

另見here

可以產生位碼使用-emit-LLVM或鐺文件 - flto或與-O3 -flto同義的-O4標誌。

對於與-O3標誌一起使用的優化,請參見PassManagerBuilder.cpp文件(查找OptLevel變量 - 它的值爲3)。

+2

注意:這不再正確。該手冊現在明確指出「-O4及更高:目前等同於-O3」。使用O4並認爲他們在做LTO的人不是。 –

7

請注意,從LLVM版本5.1 -O4不再意味着鏈接時間優化。如果你想要,你需要通過-flto。見Xcode 5 Release Notes

+6

在討論LLVM時,請使用LLVM版本,而不是Apple LLVM版本 - LLVM當前爲3.5,因此5.1不存在。 – Griwes

相關問題