我有一个使用opt工具的ModulePass,但我无法弄清楚如何在命令行中使用它。我目前使用my pass的工作流程是:
我想让我的pass与clang命令行集成,以便可以作为现有软件(例如c ++标准库)构建的一部分调用它,而不必为我编译的每个东西重新构建整个构建系统。我已经看到了关于如何做到这一点的提示,但我还没有把这些部分组合成一个有效的设置。
Run an LLVM Pass Automatically with Clang准确描述了我想要的内容,但LLVM 3.4中似乎不推荐使用该方法(PassManagerBuilder已移至旧版命名空间)。
LLVM - Run Own Pass automatically with clang似乎解决了基本问题,但我希望我能够在不必修改clang的情况下做到这一点(这似乎就是那里的建议)。
使用LLVM 3.4从clang获取新传递的最佳方法是什么?
答案 0 :(得分:7)
Clang从3.5开始仍使用PassManagerBuilder
(请参阅PassManagerBuilderWrapper
中的BackendUtil.cpp
课程)。所以我认为用RegisterStandardPasses
扩展它,就像在我的博客文章中一样,仍然是向Clang的传球经理添加传球的唯一方法。
很难找到有关 如何弃用" old"的任何信息。通过经理基础设施是。但是,由于Clang仍在使用它,因此 已弃用。 :)