如何在X86 AT& T-Style Assembly Printer通过之前添加我的通行证?

时间:2013-06-01 10:01:20

标签: llvm llvm-3.0 llvm-c++-api

如何在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必需分析:未初始化的通行证

完整来源: http://www1.datafilehost.com/d/7f544b4b

1 个答案:

答案 0 :(得分:1)

查看LLVMTargetMachine.cpp中实现的LLVMTargetMachine::addPassesToEmitFile

在调用AsmPrinter传递之前,这可以是一个合理的位置来添加你想要运行的任何传递。