如何在X86 AT& T-Style Assembly Printer通过之前添加通行证? 我需要更改MachineFunction并保存对asm文件的更改。 问题是我的传球毕竟是被触发的。
通过调试:
0x202a430 Freeing Pass'执行依赖项修复'在功能上 ' InterlockedBitTestAndSet' ... 0x202a430执行Pass' X86 AT& T型组装打印机'在功能上 ' InterlockedBitTestAndSet' ... 0x2094f80必需分析: 未初始化的通行证,机器模块信息,创建垃圾 收集器模块元数据
- * - ' X86 AT& T型组装打印机'是以下的最后一位用户 传递实例。释放这些实例0x202a430 Freeing Pass' X86 AT& T型组装打印机'在功能上 ' InterlockedBitTestAndSet' ... 0x202a430执行通过'删除 垃圾收集器信息'在功能上 ' InterlockedBitTestAndSet' ... 0x2095268必需的分析: 创建垃圾收集器模块元数据
- * - '删除垃圾收集器信息'是最后一个用户 以下传递实例。释放这些实例0x202a430释放 通过'删除垃圾收集器信息'在功能上 ' InterlockedBitTestAndSet' ... 0x202a430执行Pass'简单 注册分配器' on Function' InterlockedBitTestAndSet' ... 0x20955b8必需分析:未初始化的通行证
答案 0 :(得分:1)
查看LLVMTargetMachine.cpp中实现的LLVMTargetMachine::addPassesToEmitFile
。
在调用AsmPrinter传递之前,这可以是一个合理的位置来添加你想要运行的任何传递。