如何使用文本标签将clang编译为LLVM IR以实现简单的功能

时间:2014-09-11 01:19:36

标签: clang llvm llvm-ir

您好我必须为编译器课程解析一些LLVM IR代码。我是LLVM的新手。 我的计算机上有clang和LLVM,当我编译一个简单的C程序时:

#include <stdio.h>


int main(int argc, char *argv[])
{
    for (int i = 0; i < 10; i++) {
     printf("Stuff!\n");
    }

return 0;
}

使用命令:clang -cc1 test.c -emit-llvm

我使用我认为称为隐式块的llvm IR:

; <label>:4 ; preds = %9, %0

但是我的解析器还需要使用文本标签来处理llvm IR:

for.cond: ; preds = %for.inc, %entry

我的问题是我不知道如何生成这样的IR,并希望有人告诉我如何。 我试过谷歌等,但我找不到合适的信息。提前致谢。

2 个答案:

答案 0 :(得分:1)

使用此网站并Show detailed bytecode analysis已检查

http://ellcc.org/demo/index.cgi

答案 1 :(得分:0)

接受的答案不再有效。这也不是实现上述目标的好方法。
如果有人像我一样偶然发现了这个问题,我会提供答案。

clang-8 -S -fno-discard-value-names -emit-llvm test.c