标签: c++ compiler-construction llvm
我有兴趣分析C / C ++程序的CFG,其中CFG的节点包含LLVM IR指令。有没有办法利用LLVM来提取这个CFG的持久性内存中对象?我不想在编译器中实现传递;我希望CFG在我自己的程序中进行分析。
答案 0 :(得分:4)
LLVM IR内存中表示适用于CFG分析,因为所有基本块都已组织为图形。在基本块内,指令序列是线性的。 LLVM中一些有趣的函数内CFG相关代码是:lib/Analysis/CFG.cpp和lib/Analysis/CFGPrinter.cpp
lib/Analysis/CFG.cpp
lib/Analysis/CFGPrinter.cpp