【问题标题】:LLVM IR getelementptr LLVM C API equivalentLLVM IR getelementptr LLVM C API 等效项
【发布时间】:2013-05-22 13:47:22
【问题描述】:

我正在尝试编写 LLVM C API 代码来生成 LLVM 汇编代码来计算字符串中的字符数。我需要知道如何在 LLVM C API 中的 LLVM IR 等效项中编写 getelementptr。我已经查看了整个谷歌,似乎无法找到答案。任何帮助或提示将不胜感激。先感谢您。

【问题讨论】:

    标签: llvm llvm-ir llvm-c++-api


    【解决方案1】:

    我认为您正在寻找来自 C API 的 LLVMBuildGEP 函数。你可以在include/llvm-c/Core.h看到它的原型。

    【讨论】:

    • 非常感谢!这就是我要找的东西——我没有意识到 GEP 是 GetElementPtr。
    • @EliBendersky 嗨,LLVMBuildGEP 实现为 wrap(unwrap(B)->CreateGEP(nullptr, unwrap(Pointer), IdxList, Name));。是不是意味着如果使用LLVM C API,我们只能将nullptr传递给CreateGEP的第一个参数?
    • @EliBendersky 我尝试使用纯 C(使用 LLVM C API)实现一个函数。该函数的唯一参数是指向<2 x i32>* 的指针,它返回向量中的第二个元素。 LLVM IR 应该是getelementptr i32, <2 x i32>* %0, i32 1。我无法使用LLVMBuildGEP 生成代码。你能给点建议吗?非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2014-10-30
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多