【问题标题】:What does "lifelong program analysis" as in LLVM description mean?LLVM 描述中的“终身程序分析”是什么意思?
【发布时间】:2011-10-17 11:34:54
【问题描述】:

LLVM 描述(for example, here 说它是lifelong程序分析和转换的框架。

终身在这种情况下是什么意思?

【问题讨论】:

  • 我相信它指的是 LLVM 在其整个生命周期内分析和转换程序的能力。一旦程序处于其字节码形式,就可以从最初的编译开始一直到执行的那一刻对其进行分析和转换(请参阅链接时间和安装时间优化以及 LLVM JIT)。请注意,这只是一个猜测,但似乎确实合适。

标签: compiler-construction compilation llvm


【解决方案1】:

“这种终身代码优化技术包括在链接时执行的过程间优化(以保持单独编译的好处)、在每个系统上安装时与机器相关的优化、运行时的动态优化以及运行之间的配置文件引导优化(‘空闲时间’)使用从最终用户收集的配置文件信息。”

摘自本文第二段:http://llvm.org/pubs/2004-01-30-CGO-LLVM.pdf

【讨论】:

    【解决方案2】:

    短语中的Lifelong是指程序的生命周期。因此,为了最大限度地提高程序的效率,还要在链接时、运行时以及运行之间进行分析。

    paper(第5页)中列出了终身程序分析和转换的要求:

    1. 永久程序信息
    2. 离线代码生成
    3. 基于用户的分析和优化
    4. 透明的运行时模型
    5. 统一、完整的程序编译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 2010-08-11
      • 2015-09-13
      • 2017-08-13
      • 2022-11-24
      相关资源
      最近更新 更多