パフォーマンスがclang-o4で実行するのと同じであると想定されるjitコンパイラを実装しようとしています。-o4を指定してclangによって呼び出される最適化パスのリストを簡単に取得できる場所はありますか?
5518 次
2 に答える
9
私の知る限り、-O4は-O3 +対応のLTO(リンク時間最適化)と同じ意味です。次のコードフラグメントを参照してください。
- Tools.cpp
// Manually translate -O to -O2 and -O4 to -O3;
- Driver.cpp
// Check for -O4.
こちらもご覧ください:
-emit-llvmまたは-flto、あるいは-O3-fltoと同義の-O4フラグを使用して、clangからビットコードファイルを生成できます。
-O3フラグで使用される最適化については、このPassManagerBuilder.cppファイルを参照してください(OptLevel変数を探してください-値は3になります)。
于 2012-12-18T00:26:14.857 に答える
9
LLVMバージョン5.1以降、-O4はリンク時間の最適化を意味しなくなったことに注意してください。必要に応じて、-fltoを渡す必要があります。Xcode5リリースノートを参照してください。
于 2014-03-10T22:24:15.230 に答える