12

Is it possible to add comments into a BasicBlock? I only want that when I print out the IR for debugging I can have a few comments that help me. That is, I fully expect them to be lost once I pass them to the optimizer.

4

1 回答 1

8

不,这不可能直接。注释,您可能指的是文本 IR 表示中以分号 ( ) 开头的词法元素;,在内存中 IR(和二进制位码)中没有表示。您可能知道,LLVM IR 具有三种等效表示(在内存 API 级别、文本“汇编”级别、二进制位码级别)。一旦 LLVM 程序集 IR 解析器将代码读入内存,注释就会丢失。

但是,您可以为此使用元数据。您可以创建附加到任何指令的任意元数据,以及全局模块级元数据。当然,这是一个 hack,但如果你真的认为你需要某种注释,元数据就是方法。LLVM 使用元数据来满足许多注释需求,例如调试信息和别名分析注释。

于 2013-10-23T03:52:11.893 回答