【发布时间】:2019-02-23 04:02:36
【问题描述】:
我正在尝试关注 this 链接,以便为 c 代码生成 IR 表示。我使用的c代码如下
void main() {
int c1 = 17;
int c2 = 25;
int c3 = c1 + c2;
printf("Value = %d\n", c3);
}
我将它保存为const.c。保存后,我使用以下命令生成.bc 文件。
clang -c -emit-llvm const.c -o const.bc
生成 .bc 文件后,我想使用以下命令来生成名为 const.reg.bc 的 const.bc 文件的优化版本。
opt -mem2reg const.bc > const.reg.bc
我在生成这些文件时没有任何问题,但由于某种原因,它们两者完全相同,并且没有进行优化。结果应该不同,我的意思是const.reg.bc 应该是const.bc 文件的优化版本。但由于某种原因,它不会发生。谁能告诉我我做错了什么?
【问题讨论】:
标签: llvm compiler-optimization llvm-ir register-allocation