我有一个过程正在分析整个模块(使用runOnFunction()
)。但我想将它应用到每个执行路径上。执行路径是指从程序中的某个点(用 start 注释)开始到程序的终止点(用 end 注释)的指令序列。
我假设我必须通过构造 CallGraph 将模块划分为函数,然后通过在前面提到的 CallGraph 的节点中构造 CFG-s 将每个函数划分为指令。我假设我选择的节点的执行路径是 CallGraph 叶中完成的所有路径(我应该能够在 CFG 之间进行通信)。从该节点我可以使用图形搜索算法查看所有路径。
有没有可能更换runOnFunction()
/ runOnModule()
具有用户定义的方法,例如runOnExecutionPath()
?如果是这样,LLVM 中有一个适合存储执行路径的结构吗?
另一种可能性是使用getAnalysis<CallGraph>
or getAnalysis<CFG>
?我很困惑。
非常感谢您的任何建议!
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)