0

我正在研究使用 llvm 工具来生成小程序的块级配置文件。看起来在旧版本中这就像运行一样简单:

perl utils/profile.pl -block program.bc

在新版本的 LLVM 中如何进行分析?

4

1 回答 1

2

使用 Clang 和 llvm-profdata

使用仪器访问 Clang 用户手册配置文件

llvm doc llvm-profdata

总之:

  1. 构建代码的检测版本

    clang -O2 -fprofile-instr-generate code.c
    
  2. 运行检测的可执行文件以获取配置文件数据文件

    ./a.out
    
  3. 合并来自多次运行的配置文件并通过运行格式化文件

    llvm-profdata merge *.profraw -output=code.profdata
    
  4. 再次构建代码

    clang -O2 -fprofile-instr-use=code.profdata code.c
    

(可选?) 5. 显示此文件和任何指定函数的配置文件计数器

    llvm-profdata show -all-functions code.profdata
于 2016-07-21T18:06:34.750 回答