如何告诉LLVM在没有任何修改的情况下将InlineAsm插入可执行文件?

时间:2017-04-29 17:35:39

标签: binary x86 clang llvm llvm-c++-api

  

如何在没有任何修改的情况下告诉LLVM将InlineAsm注入可执行文件?

我的LLVM InlineAsm中的ModulePass序列,我希望确定无需任何修改即可插入特定函数,例如优化,重新排序等。

InlineAsm看起来像这样:

Builder.CreateCall(InlineAsm::get(VoidFunTy, std::string(".cstart_") + Id + std::string(":"), "", true));

基本上,llc编译器负责确定这些InlineAsm的影响,通常它只是将它们转换为.s输出文件中的汇编语法

hasSideEffets参数是否指示LLVM逐字地将指令插入到函数中,或者我如何确定插入指令而不进行任何修改?

如果可能,请链接到文档,因为详细信息对于手头的应用程序非常重要。

0 个答案:

没有答案