【问题标题】:Why clang is using LLVM faster than using LLVM by hand?为什么 clang 使用 LLVM 比手动使用 LLVM 更快?
【发布时间】:2018-08-19 12:55:02
【问题描述】:

为什么 clang 使用 LLVM 比手动使用 LLVM 更快?

这是 Linux 上的真实示例:

clang -O0 prog.c -c -emit-llvm
0.5 s

llc prog.bc
1.3 s

as prog.s -o prog.o
0.1 s

gcc prog.o -o prog -lm
0.04 s

total time: 2.0 s

现在只需在一个命令中完成所有来自 clang 的操作:

clang prog.c -o prog -O0 -lm
total time: 0.7 s

【问题讨论】:

    标签: clang llvm llvm-clang


    【解决方案1】:

    当你手工完成时,你有很多中介:prog.bc、prog.s、prog.o。 Clang 是如何将 LLVM 用作库的一个示例,因此它永远不会将任何内容转储到磁盘,直到最后一步(取决于开关,可以是位码、汇编代码、目标文件或可执行文件),中间的所有内容都是在内存中。

    【讨论】:

      猜你喜欢
      • 2020-05-25
      • 1970-01-01
      • 2017-03-05
      • 2013-04-29
      • 2015-03-17
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 2012-02-27
      相关资源
      最近更新 更多