为LLVM函数传递中的函数调用创建调试位置

时间:2019-02-04 20:55:51

标签: llvm llvm-clang

我创建了一个优化(函数)遍历,该遍历用于特定指令,并在目标指令之前创建函数调用。它工作正常,但是由于没有自定义函数调用的调试位置,因此无法启用调试符号( -g )。

i8*  %381 = call i8* @my_function(i64* %375)
inlinable function call in a function with debug info must have a !dbg location

如何在LLVM优化过程中为自定义函数调用(例如 my_function )创建调试位置?

1 个答案:

答案 0 :(得分:0)

该限制仅适用于不可调用的函数调用。如果您的功能不是不可移植的,则可以将其标记为my_function->addAttribute(AttributeList::FunctionIndex, Attribute::NoInline);并避免出现此问题。