如何在IR表示中生成LLVM代码覆盖率?

如何在IR表示中生成LLVM代码覆盖率?,llvm,code-coverage,Llvm,Code Coverage,教程()中有一个C代码示例。我需要评估LLVM IR代码的覆盖率 如何使用叮当声或其他工具完成此操作 您也可以用同样的方法来实现——覆盖检测过程在IR级别实现,而clang可以接受IR文件(.ll)作为输入。只需确保这些文件具有调试信息。您也可以用同样的方法来实现——覆盖率检测过程在IR级别实现,而clang可以接受IR文件(.ll)作为输入。只需确保这些文件具有调试信息。按照以下步骤它不工作:1)clang-S-emit llvm-c test.c2)clang-o test-fprofile

教程()中有一个C代码示例。我需要评估LLVM IR代码的覆盖率


如何使用叮当声或其他工具完成此操作

您也可以用同样的方法来实现——覆盖检测过程在IR级别实现,而clang可以接受IR文件(
.ll
)作为输入。只需确保这些文件具有调试信息。

您也可以用同样的方法来实现——覆盖率检测过程在IR级别实现,而clang可以接受IR文件(
.ll
)作为输入。只需确保这些文件具有调试信息。

按照以下步骤它不工作:1)
clang-S-emit llvm-c test.c
2)
clang-o test-fprofile arcs-ftest coverage test.ll
3)
/test
它没有生成gcno文件或调试文件。怎么了?你能给我举个正确的例子吗?Regards@user1301985就像我说的,这些文件需要有调试信息。在步骤1中通过
-g
。根据您的建议,我可以评估C代码的覆盖率。我对C语言中的代码覆盖率不感兴趣(这只是一个例子),我有一个从我的语言到LLVMIR的代码生成器。我想评估生成的LLVM IR上的代码覆盖率。它按照以下步骤不起作用:1)
clang-S-emit LLVM-c test.c
2)
clang-o test-fprofile arcs-ftest coverage test.ll
3)
/test
它没有生成gcno文件或调试文件。怎么了?你能给我举个正确的例子吗?Regards@user1301985就像我说的,这些文件需要有调试信息。在步骤1中通过
-g
。根据您的建议,我可以评估C代码的覆盖率。我对C语言中的代码覆盖率不感兴趣(这只是一个例子),我有一个从我的语言到LLVMIR的代码生成器。我想评估生成的LLVM IR上的代码覆盖率。@Ismail Badawi,我想评估这个简单hello.ll()上的代码覆盖率。@Ismail Badawi,我想评估这个简单hello.ll()上的代码覆盖率。