LLVM:如何添加函数并在MachineFunctionPass中插入函数调用

时间:2016-03-25 09:09:15

标签: c++ compiler-construction llvm instrumentation

我正在写一个MachineFunctionPass来做仪器。目标是在某些x86指令之后插入一个函数(比如f)调用。 f是一个额外的C函数,它不会出现在要编译的orignal程序中。我编译f来获取它的汇编,然后使用BuildMI插入每个MachineInstr。以这种方式检测的结果程序太多了,因为我在每个插入点扩展f的主体。是否可以向程序添加函数,以便我能够使用call f插入。根据{{​​3}},似乎无法在MachineFunctionPass中实现这一点。也许我应该在ModulePass中实现它。但是怎么做呢?谁能给我任何指针?

0 个答案:

没有答案