C++ LLVM链接带有调试信息的IR文件

C++ LLVM链接带有调试信息的IR文件,c++,llvm,llvm-clang,llvm-ir,C++,Llvm,Llvm Clang,Llvm Ir,我有多个.cpp文件,我正在将它们转换为LLVM IR.ll,然后在通过之前尝试将它们与LLVM link链接,我可以轻松链接我的文件,而无需调试标志-g。但是,如果我使用调试标志将.cpp转换为.ll,然后尝试将其链接,则会出现有关子程序的错误,如下所示: llvm链接:test.ll:228:224:错误:无效字段“子程序” 我相信这是因为调试信息而产生的。这与我在LLVM IR上尝试运行带有调试信息的opt时遇到的问题相同。是否有其他方法链接包含调试信息的LLVM IR 另外,我正在使用l

我有多个
.cpp
文件,我正在将它们转换为LLVM IR
.ll
,然后在通过之前尝试将它们与
LLVM link
链接,我可以轻松链接我的文件,而无需调试标志
-g
。但是,如果我使用调试标志将
.cpp
转换为
.ll
,然后尝试将其链接,则会出现有关子程序的错误,如下所示:

llvm链接:test.ll:228:224:错误:无效字段“子程序”

我相信这是因为调试信息而产生的。这与我在LLVM IR上尝试运行带有调试信息的
opt
时遇到的问题相同。是否有其他方法链接包含调试信息的LLVM IR


另外,我正在使用llvm 3.8,不知道如何修复错误,但是如果您想知道子程序是什么,它是DWARF调试信息的一部分(创建了一个子程序构造来描述每个函数)。是的,我知道它包含了大部分元数据