【发布时间】:2017-12-06 00:17:40
【问题描述】:
我正在运行命令行
opt test.bc -loop-vectorize -o test2.bc -stats
检查LLVM 循环矢量化过程收集的统计信息。但是,运行该命令后,我只得到了 test2.bc,而没有打印任何统计信息。我可以知道我应该在哪里查找这些统计信息吗?
提前致谢, T
【问题讨论】:
标签: compiler-construction clang llvm llvm-ir
我正在运行命令行
opt test.bc -loop-vectorize -o test2.bc -stats
检查LLVM 循环矢量化过程收集的统计信息。但是,运行该命令后,我只得到了 test2.bc,而没有打印任何统计信息。我可以知道我应该在哪里查找这些统计信息吗?
提前致谢, T
【问题讨论】:
标签: compiler-construction clang llvm llvm-ir
它们应该在命令执行完成后打印在您的终端上。但是,您的LLVM 需要在启用断言的情况下构建,记录在案的here:
请注意,为了使用“-stats”选项,必须编译 LLVM 启用断言。
这对应于这个cmake 标志,如果你是从源代码构建LLVM:
-DLLVM_ENABLE_ASSERTIONS=On
此外,您可以使用以下命令查询特定的LLVM 安装的断言模式:
llvm-config --assertion-mode
如果启用了断言,那么它应该返回ON。
对于这个特性的代码自省,对应的预处理器定义是
LLVM_ENABLE_STATS
或者当NDEBUG未定义时,如include/llvm/Support/Statistic.h 头文件中所示。
【讨论】: