在编译命令中添加参数“-fprofile-instr-generate”和“-fcoverage-mapping”,以生成profraw文件和profdata文件。
示例代码:
clang++ -std=c++11 -fprofile-instr-generate -fcoverage-mapping foo.cpp -o foo
在执行完程序后,将会生成名为“default.profraw”的文件。使用以下命令将其转换为profdata文件:
llvm-profdata-6.0 merge -sparse default.profraw -o default.profdata
然后在编译命令中添加参数“-fprofile-instr-use=default.profdata”,以使用profdata文件来优化编译:
clang++ -std=c++11 -fprofile-instr-use=default.profdata foo.cpp -o foo