llvm并安装时间优化

时间:2014-03-22 11:25:23

标签: c++ llvm llvm-clang

基于LLVM official page,可以根据我的理解进行安装时优化,首先在分发之前编译构建计算机上的字节码,然后在上目标机器,在安装时将字节码转换为本机代码。

这个功能有没有真实的例子?更具体地说,我想知道是否可以采用任意开源C / C ++项目,该项目使用autoconf(即通常由./configure && make && make install构建和安装)和

  1. 在构建计算机上,通过在特殊情况下运行./configure && make 方式(例如设置一些环境变量,甚至修改 configure.ac或其他一些autoconf文件),以便它生成 可执行文件和库作为字节代码;
  2. 我将构建树转移到目标计算机,然后运行make install 以一种特殊的方式,以便像往常一样安装所有文件, 但是将字节代码转换为可执行文件和库的本机代码。

2 个答案:

答案 0 :(得分:2)

正如@delnan所指出的,一般情况下这是不可能的。 LLVM是一个目标独立的 IR,但它不是可移植的

有一些尝试构建便携式IR,PNaCl,但这些与LLVM不同。

答案 1 :(得分:1)

LLVM IR是独立于目标的,这意味着它可以在一台机器上生成(编译时)并在另一台机器上转换为字节码(链接时间),它仍然会生成与在第一台机器上相同的字节码,提供您使用相同版本的LLVM具有相同的选项。这并不意味着生成的IR会在所有机器上生成有效的二进制文件。

问题在于ABI在不同系统之间的变化方式。

这篇文章更详细地解决了这些差异: LLVM bitcode cross-platform

相关问题