【发布时间】:2021-03-25 05:40:42
【问题描述】:
我正在以编程方式分析 llvm 代码。有一些 LLVM 函数和变量是从 LLVM 源代码之外编写的自定义传递生成的。有没有一种编程方式我可以区分原始 LLVM 源代码和自定义传递生成的 LLVM 代码。
【问题讨论】:
我正在以编程方式分析 llvm 代码。有一些 LLVM 函数和变量是从 LLVM 源代码之外编写的自定义传递生成的。有没有一种编程方式我可以区分原始 LLVM 源代码和自定义传递生成的 LLVM 代码。
【问题讨论】:
如果 pass 做了一些可区分的转换 - 是的。例如,如果通过传递创建的函数使用某种约定命名,或者附加了特定属性。
否则,您可以编写自己的通行证,在自定义通行证之前运行,并构建模块中存在的函数列表。自定义传递完成后,再次运行此传递并找出自定义传递添加的功能。
【讨论】: