如果x是整数变量,即int x; ->%x = alloca i32
我想通过传递指令将指令%add =&(%x)插入我的IR代码中。
是否可以通过GEP指令或其他任何方式进行?我的意思是%add = gep(x)。
我的初始IR,
%i = alloca i32, align 4
store volatile i32 50, i32* %i, align 4
对于C代码
i=50;
我想写一张通行证,从中获得如下所示的修改后的IR,
修改后的IR,
%i = alloca i32, align 4
store volatile i32 50, i32* %i, align 4
%i_addr = (Get address of i)
感谢并感谢您的帮助:)
答案 0 :(得分:1)
%i
已经是变量i
的地址-您可以看到其类型为i32*
,它是一个指针。要获得i
的值(在您的示例中为50),您将需要一条load
指令。