如何在传递之间传递 LLVM 数据结构,但毕竟是源文件?

时间:2021-02-24 20:37:11

标签: llvm llvm-ir

我目前有一个通行证(通行证 2)可以进行一些转换。我想要做的是在 Pass 2 之前运行一个 pass(Pass 1),收集一些 IR 信息,将其存储在数据结构中并将数据结构传递给 Pass 2,以便我可以将它用于特定的转换。我认为这可以通过 getAnalysisUsage 完成,但我不确定如何。如果可能的话,我想知道具体怎么做。

另一件事,这是棘手的部分,是我希望 Pass 1 在 Pass 2 运行之前首先在我拥有的所有源文件上运行并将集体数据结构传递给 Pass 2。换句话说,我想要 Pass 1 首先运行所有模块和源文件,收集信息,将其传递给 Pass 2,然后 Pass 2 运行。有没有办法告诉LLVM做这种“双重编译”?

希望我能够很好地解释这一点。如果我不清楚或者您有任何疑问,请告诉我。非常感谢!

0 个答案:

没有答案