【发布时间】:2012-11-16 23:12:13
【问题描述】:
首先,我是 LLVM 通行证的新手。
我正在尝试在转换通过后将元数据添加到 LLVM 中的指令中(使用 C++ API)。我打算存储此信息以供工具链中的另一个工具使用。我对此有两个问题。
我希望将我存储为元数据的信息提供给另一个适用于 LLVM IR 的工具。那么元数据是个好主意吗?我打算将字符串存储为带有一些说明的元数据。
如果元数据是正确的方法,我需要一些帮助来创建元数据节点。我计划使用 setMedata() 函数将其附加到指令中。 setMetadata() 的哪个变体是正确的。我不确定我的数据应该属于哪个 MDKind。我想创建一个 MDString,将它附加到我的 MDNode,然后使用指令调用 setMetadata()。如果我想将元数据附加到函数内的指令,我应该在 setMedata() 中使用什么上下文。上下文与元数据的相关性是什么?
我尝试阅读论坛和 llvm doxygen 文档中的大量讨论,但我没有得到所有问题的清晰完整的答案。感谢您的帮助或一些可以帮助我理解这一点的材料。
【问题讨论】:
标签: llvm llvm-c++-api llvm-ir