如何在没有任何修改的情况下告诉LLVM将InlineAsm注入可执行文件?
我的LLVM InlineAsm
中的ModulePass
序列,我希望确定无需任何修改即可插入特定函数,例如优化,重新排序等。
InlineAsm
看起来像这样:
Builder.CreateCall(InlineAsm::get(VoidFunTy, std::string(".cstart_") + Id + std::string(":"), "", true));
基本上,llc
编译器负责确定这些InlineAsm
的影响,通常它只是将它们转换为.s
输出文件中的汇编语法
hasSideEffets
参数是否指示LLVM逐字地将指令插入到函数中,或者我如何确定插入指令而不进行任何修改?
如果可能,请链接到文档,因为详细信息对于手头的应用程序非常重要。