Function 从LLVM中的多个程序集文件内联函数

Function 从LLVM中的多个程序集文件内联函数,function,llvm,llvm-ir,inlining,Function,Llvm,Llvm Ir,Inlining,我有多个.s文件,其中包含与相应的高级Ada代码分开生成的LLVM IR代码。这些文件之间存在函数调用。有没有办法在不同的.s文件中内联函数?欢迎使用SO,Ranjani 您可以尝试使用将这些文件链接在一起,例如: 该命令将链接两个文件foo.ll和bar.ll,并将结果写入merged.ll。-S选项告诉链接器以人类可读的形式发出位代码。通常通过优化链接时间来实现。我需要对.S文件进行一些分析。那么,有没有一种方法可以使用LLVM中的某个属性/过程来进行内联呢?我不知道有任何这样的方法。您可以

我有多个.s文件,其中包含与相应的高级Ada代码分开生成的LLVM IR代码。这些文件之间存在函数调用。有没有办法在不同的.s文件中内联函数?

欢迎使用SO,Ranjani

您可以尝试使用将这些文件链接在一起,例如:


该命令将链接两个文件
foo.ll
bar.ll
,并将结果写入
merged.ll
-S
选项告诉链接器以人类可读的形式发出位代码。

通常通过优化链接时间来实现。我需要对.S文件进行一些分析。那么,有没有一种方法可以使用LLVM中的某个属性/过程来进行内联呢?我不知道有任何这样的方法。您可以将两者链接在一起,然后使用
llvm opt
手动执行内联传递。好的,非常感谢。我会试试看它是否符合我的目的。这样可以合并任意数量的文件吗?我现在尝试了。即使我链接多个文件,似乎也没有问题。非常感谢。
llvm-link -S -o merged.ll foo.ll bar.ll