共有ライブラリを作成する CMake プロジェクトで LLVM を使用してリンク時の最適化を適用しようとしています。私の質問はこれとほとんど同じです:
CMake を使用して GCC と Clang/LLVM を切り替える。
llvm-ld
ただし、新しいバージョンには存在しないため、回答はもう適用できないようです。コマンド ラインで、次のコマンドを実行して LTO を取得します (.cpp
ファイルが 2 つしかない場合)。
バイトコードにコンパイル:
clang++ -c FirstClass.cpp -O3 -flto -o FirstClass.bc
clang++ -c SecondClass.cpp -O3 -flto -o SecondClass.bc
リンクバイトコード:
llvm-link FirstClass.bc SecondClass.bc -o unoptimized.bc
バイトコードを最適化:
opt -O3 unoptimized.bc -o optimized.bc
バイト コードを共有オブジェクトに変換します。
clang++ -shared optimized.bc -o libTest.so
CMake で追加の手順を実行する方法を教えてください。