我正在尝试在创建共享库的 CMake 项目上使用 LLVM 应用链接时间优化。我的问题和这个问题差不多:
使用 CMake 在 GCC 和 Clang/LLVM 之间切换。
但是,答案似乎不再适用,因为llvm-ld
新版本中不存在。在命令行上,我运行以下命令来获取 LTO(假设只有 2 个.cpp
文件):
编译成字节码:
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 运行其他步骤吗?