gpt4 book ai didi

c - 如何通过 llvm-c api 创建命名元数据?

转载 作者:太空狗 更新时间:2023-10-29 15:33:33 25 4
gpt4 key购买 nike

我想将调试元数据添加到我生成的 llvm IR,它是通过 C API 创建的。但是,我不知道如何创建命名元数据节点(例如 !llvm.dbg.cu),甚至不知道如何创建具有唯一编号(即 !0、!1 等)的元数据节点。向指令添加元数据操作数看起来非常简单,但我不知道如何创建独立的元数据节点。

最佳答案

在 LLVM 3.0 中,C API 中没有公开用于创建或修改命名元数据的函数。一个新函数 (LLVMAddNamedMetadataOperand) 是 recently added to the API , 3.0 发布后。

如果您习惯于从源代码构建 LLVM,则可以从主干获得此支持。查看Getting Started关于如何构建 LLVM 的页面。否则,您将不得不等到 LLVM 3.1 发布。

当函数可用时,只需调用即可:

LLVMAddNamedMetadataOperand(module, "named_md_name", mdnode);

如果没有名为“named_md_name”的命名元数据,则会创建一个。否则现有对象将被更新。

关于c - 如何通过 llvm-c api 创建命名元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7998367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com