将 LLVM-IR ptr 与 struct 一起使用

using LLVM-IR ptr with struct

提问人:sahil patidar 提问时间:11/8/2023 更新时间:11/8/2023 访问量:13

问:

struct foo{
    int val;
};

int get(foo *s){
    return s->val;
}

上述代码示例的 IR 生成:

%foo = type { i32 }


define i32 @func_get(ptr %s) {
entry:
  %s1 = alloca ptr, align 8
  store ptr %s, ptr %s1, align 8
  %0 = getelementptr inbounds { i32 }, ptr %s1, i32 0, i32 0
  %1 = load i32, ptr %0, align 4
  ret i32 %1
}

它没有产生预期的结果。我无法在@func_get中获取结构元素的地址。 如何使用结构指针获取结构元素?

指针 llvm llvm-ir

评论


答: 暂无答案