LLVM / Clang使用opt来显示链接的ll文件

时间:2014-10-14 22:40:16

标签: clang llvm

我有两个c文件,并希望显示其链接位代码的红外线

link1.c

#include "link2.h"
int main() {
  int a;
  int b;
  foo(a,b);
  return 0;
}

link2.h

#include<stdio.h>

link2.c

#include "link2.h"
void foo(int a, int b) {
  printf("%d\n", a);
  printf("%d\n", b);
}

我执行了以下命令来获取bc文件。

clang -o0 -emit-llvm file1.c -c -o file1.bc
clang -o0 -emit-llvm file2.c -c -o file2.bc
llvm-link -o link.bc link1.bc link2.bc

当我尝试lli link.bcllvm-dis link.bc时,它正确运行并显示链接的ll文件,但是当我使用opt link.bc -S -o link.ll获取ll文件时,它只报告了分段错误。任何人都可以告诉我如何处理opt

1 个答案:

答案 0 :(得分:0)

好像是因为版本兼容的选择问题。我应该使用3.5版本,但事实证明我使用的是3.4.2。