可以使用LLVM过程来更改代码吗?

可以使用LLVM过程来更改代码吗?,llvm,llvm-ir,Llvm,Llvm Ir,我正在编写一个程序优化,包括添加新函数、删除代码行、插入函数调用和更改函数参数 所有这些都可以使用LLVM过程吗?如果可以,我将如何为此编写这样的代码 在LLVM网站上查看了如何编写LLVM通行证页面后,它没有解释任何关于修改代码的内容。是开始编写通行证的非常好的指南。它还提供了一个如何更改代码的示例。是的,尽管其中有些事情并不琐碎。我已添加/替换了现有功能,并已这样做。但总的来说,这个问题对于一个stackoverflow问题来说可能太宽泛了。@Brian你有没有添加/删除函数的示例过程,我可

我正在编写一个程序优化,包括添加新函数、删除代码行、插入函数调用和更改函数参数

所有这些都可以使用LLVM过程吗?如果可以,我将如何为此编写这样的代码


在LLVM网站上查看了如何编写LLVM通行证页面后,它没有解释任何关于修改代码的内容。

是开始编写通行证的非常好的指南。它还提供了一个如何更改代码的示例。

是的,尽管其中有些事情并不琐碎。我已添加/替换了现有功能,并已这样做。但总的来说,这个问题对于一个stackoverflow问题来说可能太宽泛了。@Brian你有没有添加/删除函数的示例过程,我可以用来学习?是的,我有一个这样的过程-:createMicroTaskWrapStruct。此函数将一个新函数注入IR并从中调用,其中LLVM过程必须使用对新函数的调用替换现有函数调用及其参数。我承认这项已发表的研究并不是一个玩具的例子,所以读起来可能有点不透明。为此我道歉。