LLVM从GlobalVariable获取数组文字的值

LLVM从GlobalVariable获取数组文字的值,llvm,Llvm,假设一个数组在LLVM IR中声明如下: ... @values = local_unnamed_addr constant [6 x i32] [i32 0, i32 1, i32 8, i32 27, i32 64, i32 125], align 16 ... 这将在对模块对象调用getGlobalList()时显示。如何从表示值的全局变量*中获取文本值{0,1,8,27,64,125}?首先,通过调用getInitializer()获得[6 x i32][i32 0,i32 1,i32

假设一个数组在LLVM IR中声明如下:

...
@values = local_unnamed_addr constant [6 x i32] [i32 0, i32 1, i32 8, i32 27, i32 64, i32 125], align 16
...

这将在对
模块
对象调用
getGlobalList()
时显示。如何从表示
值的
全局变量*
中获取文本值{0,1,8,27,64,125}?

首先,通过调用
getInitializer()
获得
[6 x i32][i32 0,i32 1,i32 8,i32 27,i32 64,i32 125]
,然后执行
cast()
,最后使用
getElement*/code>方法


请参见此处的
extractvalue