将值与LLVM数组进行Assalign

  • 本文关键字:Assalign 数组 LLVM llvm
  • 更新时间 :
  • 英文 :


如果我创建一个LLVM数组作为

%a = alloca [3 x i32]

并且想给数组中的第一个元素赋值,我该怎么做?我是否必须以某种方式重新创建具有该值的数组?我想使用纯LLVM代码,而不是LLVM API。

首先,您需要使用getelementptr指令获取指向第一个元素的指针,然后使用它来存储您的值:

%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 0
store i32 4, i32* %p

这将值CCD_ 2存储在第一个元素中。要存储在不同的索引中,您可以将最后一个整数更改为所需的索引:

%p = getelementptr [3 x i32], [3 x i32]* %a, i32 0, i32 2
store i32 4, i32* %p

这一个将4存储在索引2中。

最新更新