You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取LLVM/Clang中O1、O2、O3优化等级的所有Pass名称

获取LLVM/Clang各优化等级启用的Pass列表

用Opt工具查询

opt工具需要接收IR输入才能正常解析优化选项,你之前的命令缺少输入源导致失败,修正后的命令如下:

  • O1优化等级:
    llvm-as < /dev/null | opt -O1 -disable-output -debug-pass=Arguments
    
  • O2优化等级:
    llvm-as < /dev/null | opt -O2 -disable-output -debug-pass=Arguments
    
  • O3优化等级:
    llvm-as < /dev/null | opt -O3 -disable-output -debug-pass=Arguments
    

针对LLVM 14及以上版本,-debug-pass=Arguments已被废弃,改用-print-passes参数:

opt -O2 -print-passes -disable-output

用Clang查询

直接执行clang -O2 -help无法获取Pass列表,需要通过-Xclang将调试参数传递给LLVM前端:

  • O1优化等级:
    clang -O1 -Xclang -disable-output -Xclang -debug-pass=Arguments
    
  • O2优化等级:
    clang -O2 -Xclang -disable-output -Xclang -debug-pass=Arguments
    
  • O3优化等级:
    clang -O3 -Xclang -disable-output -Xclang -debug-pass=Arguments
    

进阶用法

如果需要查看Pass的依赖关系和执行结构,将上述命令中的-debug-pass=Arguments替换为-debug-pass=Structure,输出会包含更详细的Pass组织信息。

内容的提问来源于stack exchange,提问作者Soma Pal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:22:38