新通行证管理器中的“-analyze”等价物是什么?

What is the equivalent of `-analyze` in the new pass manager?

我正在使用 opt 工具手动 运行 优化 LLVM IR 代码,我对它很陌生。当 运行ning 分析通过时,我一直提到的来源使用 -analyze 标志和 opt 来执行分析并打印结果而不转换输入。但是,对于我安装的版本,opt 警告我新的通行证管理器已弃用 -analyze 选项。

现在我确实发现我可以使用 -enable-new-pm=0 禁用新的通行证管理器,并且按预期工作。我还可以使用新的传递管理器并通过重定向到 /dev/null 来丢弃生成的输出。但是,我想知道在使用新的通行证管理器时是否有官方等效 -analyze

我的搜索似乎只产生了两个值得注意的结果 - LLVM docs and the LLVM blog post 介绍了新的 PM。这些似乎都没有讨论 -analyze 标志。

新通行证管理器中 -analyze 的等价物是

--passes="print<your-analysis-pass-name>"

示例用法如下:

opt -load-pass-plugin examplepass.so --passes="print<examplepass>" -disable-output example.bc

更多信息和详细信息,您可以查看这个很棒的 github 存储库,用于 llvm 通行证及其与旧(旧)和新通行证管理器的用法:https://github.com/banach-space/llvm-tutor