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