【发布时间】:2016-05-20 03:58:06
【问题描述】:
我正在尝试通过 LLVM 在我的程序中找到任何可能的路径。现在我可以在我的代码中找到所有函数从入口到出口 BB 的路径。然而,这不是我需要的。我需要扩展 CFG(也许通过内联函数调用?!)为整个源代码创建一个 CFG,并在这个扩展的 CFG 中找到路径。 我正在考虑首先使用 -inline pass 来内联所有函数,然后运行我的路径查找器 pass,但正如我所观察到的 -inline 仅适用于代码(cpp 文件)中明确提到的内联函数。我无法遍历数百个函数并将内联添加到所有函数中。我还需要保证所有电话都是内联的,并且没有错过任何电话。我不确定内联是我唯一的选择,甚至这是一个选择。对此的任何想法表示赞赏。
**显然我的源代码中没有递归调用。
【问题讨论】:
-
看看KLEE项目。
标签: c++ clang llvm inline control-flow-graph