gpt4 book ai didi

linux - LLVM 上的简单标量支持

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:33 25 4
gpt4 key购买 nike

我想查看 LLVM IR 程序的配置文件。简单标量模拟器是否支持 LLVM?有没有其他模拟器可以做同样的事情?

最佳答案

如果 Simplescalar 支持 ARM 和 x86 ELF 二进制文件,它可以与 LLVM 编译的程序一起使用。

但是如果你想做简单的分析(在真实 CPU 上运行时程序的每个部分需要多长时间),你可以检查更多已知的分析器,比如:

  • google-perftools 或
  • callgrind/cachegrind 或
  • 个人简介。

您不能只运行 LLVM IR,因为 SimpleScalar 或通常的分析器不支持 LLVM 的 IR。 IR 由 lli 和其他 llvm 工具支持。

如果您想分析使用了哪些分支以及使用频率,可以使用 PGO 的 LLVM 分析(分析引导优化)。有llvm-prof utilityutils/profile.pl 脚本来分析 LLVM IR 程序。

方法来自 utils/profile.pl source:

# Program:  profile.pl
#
# Synopsis: Insert instrumentation code into a program, run it with the JIT,
# then print out a profile report.
#
# Syntax: profile.pl [OPTIONS] bytecodefile <arguments>
#
# OPTIONS may include one or more of the following:
# -block - Enable basicblock profiling
# -edge - Enable edge profiling
# -function - Enable function profiling
# -o <filename> - Emit profiling information to the specified file, instead
# of llvmprof.out
#
# Any unrecognized options are passed into the invocation of llvm-prof

内部是

  1. 使用一些 -insert-*-profiling 运行 opt 通过。输出是检测红外
  2. 使用 lli 运​​行 instrumented IR(希望使用 JIT)
  3. 启动 llvm-prof 将 llvmprof.out 转换为可读文本

PS 有一些关于 LLLVM 分析的研究论文:llvm.org/pubs/2010-04-NeustifterProfiling.pdf

关于linux - LLVM 上的简单标量支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9223158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com