编译使用 PassManagerBuilder 和 LLVM 17 的程序

问题描述 投票:0回答:1

看起来

LLVM
已经 removed
PassManagerBuilder.h
现在他们已经升级到
LLVM-17
。我想编译一个使用
PassManagerBuilder.h
的程序。有没有办法用
LLVM-17
来编译它,还是我需要使用旧版本的编译器?

我已尝试按照此处的说明操作如何使用新的通行证管理器,但我在这里很大程度上超出了我的深度,因为我真的不知道通行证管理器是做什么的。

当我尝试编译程序时遇到的错误是:

llvm-pass.so.cc:46:10: fatal error: 'llvm/Transforms/IPO/PassManagerBuilder.h' file not found
   46 | #include "llvm/Transforms/IPO/PassManagerBuilder.h"
llvm
1个回答
0
投票

PassManagerBuilder.h
属于 LLVM 旧版 PassManager API,它在 LLVM 17.0 中被删除,您应该使用新的 PassManager API 来实现 LLVM 17.0 中的功能。在这里查看更多详细信息:

https://releases.llvm.org/17.0.1/docs/ReleaseNotes.html#changes-to-llvm-infrastruction

旧优化管道 (PassManagerBuilder.h) 已被删除。请参阅新的通行证管理器文档,了解如何使用新的通行证管理器 API。

© www.soinside.com 2019 - 2024. All rights reserved.