0

我有以下简单的 c 代码。

int a[2] = {1,2};
int main(){
    return a[0];
}

现在clang为此案例生成的IR如下。

%retval = alloca i32, align 4
store i32 0, i32* %retval, align 4
%0 = load i32, i32* getelementptr inbounds ([2 x i32], [2 x i32]* @a, i64 0, i64 0), align 4
ret i32 %0

如图所示,getelementptr 指令内联在加载指令内部。有没有办法在clang中禁用这种内联?我正在使用 clang 3.8.0 版。

4

0 回答 0