我正试图将我的llvm pass添加到Rustc中。Rustc有一个编译选项
当我通过这个选项添加我的pass时:
然后我尝试以
我应该如何将自己的pass添加到Rustc中?
-C passes=val
,我们可以通过它添加额外的LLVM pass来运行。但是,据我尝试,只有当pass代码放在LLVM代码树中时,此选项才能接受该pass,但我想将我的pass加入到Rustc之外。当我通过这个选项添加我的pass时:
RUSTFLAGS="-C passes=my-pass" cargo build
,编译器报告错误:error: failed to run LLVM passes: unknown pass name 'my-pass'
。然后我尝试以
clang
的方式通过-C llvm-args=-fpass-plugin=/opt/new-pass/mypass.so -C passes=my-pass
来加载我的pass。它报告:rustc -Cllvm-args="..." with: Unknown command line argument '-fpass-plugin=/opt/new-pass/mypass.so'
。还尝试用其他选项替换-fpass-plugin
,如-load
和-load-pass-plugin
,但它们仍然不能被rustc识别。我应该如何将自己的pass添加到Rustc中?