2014-02-27 41 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的那些函數。