2014-02-27 42 views
2

我需要做一个方法,只返回内部功能的名称。在下面的例子中,我希望回到:_GLOBAL__I_a如何识别内部llvm函数?

例子:

define i32 @ main (i32% argc, i8 **% argv) {... 
define i32 @ _Z9Factoriali (i32% M) {nounwind ... 
define internal void @ _GLOBAL__I_a() section. "text.startup" {... 

什么是确定内部功能的最佳方式?

回答

3

您可以通过调用Function::hasInternalLinkage()来检查函数是否具有内部链接。因此,您的方法应该遍历模块中的所有函数,并返回hasInternalLinkage返回true的那些函数。